diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 322280fe..e284792b 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -44,7 +44,7 @@
android:name=".ui.activity.PlayActivity"
android:screenOrientation="landscape" />
-
-
-
-
-
headers) {
- controller.boxTVRefreshInfo(playUrl);
- if (mVideoView != null) {
- mVideoView.release();
- mVideoView.setUrl(playUrl);
- mVideoView.start();
- }
- tryDismissParse();
- }
-
- @Override
- public void fail() {
- ProjectionPlayActivity.this.finish();
- tryDismissParse();
- }
- });*/
- }
- }
-
- @Override
- public boolean dispatchKeyEvent(KeyEvent event) {
- int keyCode = event.getKeyCode();
- int action = event.getAction();
- if (action == KeyEvent.ACTION_DOWN) {
- if (keyCode == KeyEvent.KEYCODE_DPAD_RIGHT || keyCode == KeyEvent.KEYCODE_DPAD_LEFT) {
- controller.boxTVSlideStart(keyCode == KeyEvent.KEYCODE_DPAD_RIGHT ? 1 : -1);
- } else if (keyCode == KeyEvent.KEYCODE_DPAD_CENTER || keyCode == KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE || (Hawk.get(HawkConfig.DEBUG_OPEN, false) && keyCode == KeyEvent.KEYCODE_0)) {
- controller.boxTVTogglePlay();
- }
- } else if (action == KeyEvent.ACTION_UP) {
- if (keyCode == KeyEvent.KEYCODE_DPAD_RIGHT || keyCode == KeyEvent.KEYCODE_DPAD_LEFT) {
- controller.boxTVSlideStop();
- }
- }
- return super.dispatchKeyEvent(event);
- }
-
- @Override
- protected void onResume() {
- super.onResume();
- if (mVideoView != null) {
- mVideoView.resume();
- }
- }
-
-
- @Override
- protected void onPause() {
- super.onPause();
- if (mVideoView != null) {
- mVideoView.pause();
- }
- }
-
- @Override
- protected void onDestroy() {
- super.onDestroy();
- if (mVideoView != null) {
- mVideoView.release();
- mVideoView = null;
- }
- tryDismissParse();
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/github/tvbox/osc/ui/activity/PushActivity.java b/app/src/main/java/com/github/tvbox/osc/ui/activity/PushActivity.java
new file mode 100644
index 00000000..4c96302c
--- /dev/null
+++ b/app/src/main/java/com/github/tvbox/osc/ui/activity/PushActivity.java
@@ -0,0 +1,68 @@
+package com.github.tvbox.osc.ui.activity;
+
+import android.content.ClipData;
+import android.content.ClipboardManager;
+import android.content.Context;
+import android.content.Intent;
+import android.view.View;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import com.github.tvbox.osc.R;
+import com.github.tvbox.osc.base.BaseActivity;
+import com.github.tvbox.osc.server.ControlManager;
+import com.github.tvbox.osc.ui.tv.QRCodeGen;
+
+import me.jessyan.autosize.utils.AutoSizeUtils;
+
+public class PushActivity extends BaseActivity {
+ private ImageView ivQRCode;
+ private TextView tvAddress;
+
+ @Override
+ protected int getLayoutResID() {
+ return R.layout.activity_push;
+ }
+
+ @Override
+ protected void init() {
+ initView();
+ initData();
+ }
+
+ private void initView() {
+ ivQRCode = findViewById(R.id.ivQRCode);
+ tvAddress = findViewById(R.id.tvAddress);
+ refreshQRCode();
+ findViewById(R.id.pushLocal).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ try {
+ ClipboardManager manager = (ClipboardManager) PushActivity.this.getSystemService(Context.CLIPBOARD_SERVICE);
+ if (manager != null) {
+ if (manager.hasPrimaryClip() && manager.getPrimaryClip() != null && manager.getPrimaryClip().getItemCount() > 0) {
+ ClipData.Item addedText = manager.getPrimaryClip().getItemAt(0);
+ Intent newIntent = new Intent(mContext, DetailActivity.class);
+ newIntent.putExtra("id", addedText.getText().toString().trim());
+ newIntent.putExtra("sourceKey", "push_agent");
+ newIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
+ PushActivity.this.startActivity(newIntent);
+ }
+ }
+ } catch (Throwable th) {
+
+ }
+ }
+ });
+ }
+
+ private void refreshQRCode() {
+ String address = ControlManager.get().getAddress(false);
+ tvAddress.setText(String.format("手机/电脑扫描上方二维码或者直接浏览器访问地址\n%s", address));
+ ivQRCode.setImageBitmap(QRCodeGen.generateBitmap(address, AutoSizeUtils.mm2px(this, 300), AutoSizeUtils.mm2px(this, 300), 4));
+ }
+
+ private void initData() {
+
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/github/tvbox/osc/ui/fragment/UserFragment.java b/app/src/main/java/com/github/tvbox/osc/ui/fragment/UserFragment.java
index 6b217791..8512b19b 100644
--- a/app/src/main/java/com/github/tvbox/osc/ui/fragment/UserFragment.java
+++ b/app/src/main/java/com/github/tvbox/osc/ui/fragment/UserFragment.java
@@ -12,6 +12,7 @@ import com.github.tvbox.osc.base.BaseLazyFragment;
import com.github.tvbox.osc.event.ServerEvent;
import com.github.tvbox.osc.ui.activity.HistoryActivity;
import com.github.tvbox.osc.ui.activity.LivePlayActivity;
+import com.github.tvbox.osc.ui.activity.PushActivity;
import com.github.tvbox.osc.ui.activity.SearchActivity;
import com.github.tvbox.osc.ui.activity.SettingActivity;
import com.github.tvbox.osc.ui.adapter.HomeHotVodAdapter;
@@ -42,6 +43,7 @@ public class UserFragment extends BaseLazyFragment implements View.OnClickListen
private LinearLayout tvSearch;
private LinearLayout tvSetting;
private LinearLayout tvHistory;
+ private LinearLayout tvPush;
public static UserFragment newInstance() {
return new UserFragment();
@@ -59,20 +61,23 @@ public class UserFragment extends BaseLazyFragment implements View.OnClickListen
tvSearch = findViewById(R.id.tvSearch);
tvSetting = findViewById(R.id.tvSetting);
tvHistory = findViewById(R.id.tvHistory);
+ tvPush = findViewById(R.id.tvPush);
tvLive.setOnClickListener(this);
tvSearch.setOnClickListener(this);
tvSetting.setOnClickListener(this);
tvHistory.setOnClickListener(this);
+ tvPush.setOnClickListener(this);
tvLive.setOnFocusChangeListener(focusChangeListener);
tvSearch.setOnFocusChangeListener(focusChangeListener);
tvSetting.setOnFocusChangeListener(focusChangeListener);
tvHistory.setOnFocusChangeListener(focusChangeListener);
+ tvPush.setOnFocusChangeListener(focusChangeListener);
TvRecyclerView tvHotList = findViewById(R.id.tvHotList);
HomeHotVodAdapter adapter = new HomeHotVodAdapter();
adapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@Override
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
- if(ApiConfig.get().getSourceBeanList().isEmpty())
+ if (ApiConfig.get().getSourceBeanList().isEmpty())
return;
String title = ((HomeHotVodAdapter.HotVod) adapter.getItem(position)).getName();
Intent newIntent = new Intent(mContext, SearchActivity.class);
@@ -172,6 +177,8 @@ public class UserFragment extends BaseLazyFragment implements View.OnClickListen
jumpActivity(SettingActivity.class);
} else if (v.getId() == R.id.tvHistory) {
jumpActivity(HistoryActivity.class);
+ } else if (v.getId() == R.id.tvPush) {
+ jumpActivity(PushActivity.class);
}
}
diff --git a/app/src/main/java/com/github/tvbox/osc/ui/tv/QRCodeGen.java b/app/src/main/java/com/github/tvbox/osc/ui/tv/QRCodeGen.java
index a770d810..df6866a9 100644
--- a/app/src/main/java/com/github/tvbox/osc/ui/tv/QRCodeGen.java
+++ b/app/src/main/java/com/github/tvbox/osc/ui/tv/QRCodeGen.java
@@ -17,11 +17,11 @@ import java.util.Map;
* @description:
*/
public class QRCodeGen {
- public static Bitmap generateBitmap(String content, int width, int height) {
+ public static Bitmap generateBitmap(String content, int width, int height, int padding) {
QRCodeWriter qrCodeWriter = new QRCodeWriter();
Map hints = new HashMap<>();
hints.put(EncodeHintType.CHARACTER_SET, "utf-8");
- hints.put(EncodeHintType.MARGIN, "0");
+ hints.put(EncodeHintType.MARGIN, padding + "");
try {
BitMatrix encode = qrCodeWriter.encode(content, BarcodeFormat.QR_CODE, width, height, hints);
int[] pixels = new int[width * height];
@@ -40,4 +40,8 @@ public class QRCodeGen {
}
return null;
}
+
+ public static Bitmap generateBitmap(String content, int width, int height) {
+ return generateBitmap(content, width, height, 0);
+ }
}
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_push.xml b/app/src/main/res/layout/activity_push.xml
new file mode 100644
index 00000000..cb4a8c91
--- /dev/null
+++ b/app/src/main/res/layout/activity_push.xml
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file