[mobile] add clip check

pull/123/head
FongMi 3 years ago
parent dd36b97e29
commit f860c2b19e
  1. 12
      app/src/main/java/com/fongmi/android/tv/utils/Utils.java
  2. 2
      app/src/mobile/AndroidManifest.xml
  3. 39
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/MainActivity.java
  4. 3
      app/src/mobile/res/values-zh-rCN/strings.xml
  5. 3
      app/src/mobile/res/values-zh-rTW/strings.xml
  6. 3
      app/src/mobile/res/values/strings.xml

@ -3,6 +3,8 @@ package com.fongmi.android.tv.utils;
import android.Manifest;
import android.app.Activity;
import android.app.PictureInPictureParams;
import android.content.ClipData;
import android.content.ClipboardManager;
import android.content.Context;
import android.content.pm.PackageManager;
import android.graphics.Rect;
@ -164,6 +166,16 @@ public class Utils {
return text;
}
public static CharSequence getClip() {
ClipboardManager cm = (ClipboardManager) App.get().getSystemService(Context.CLIPBOARD_SERVICE);
return cm.getText();
}
public static void clearClip() {
ClipboardManager cm = (ClipboardManager) App.get().getSystemService(Context.CLIPBOARD_SERVICE);
cm.setPrimaryClip(ClipData.newPlainText("", ""));
}
public static long format(SimpleDateFormat format, String src) {
try {
return format.parse(src).getTime();

@ -8,7 +8,7 @@
android:name=".ui.activity.MainActivity"
android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation"
android:exported="true"
android:launchMode="singleTask"
android:launchMode="singleTop"
android:screenOrientation="fullUser"
android:windowSoftInputMode="adjustPan">
<intent-filter>

@ -1,6 +1,7 @@
package com.fongmi.android.tv.ui.activity;
import android.content.Intent;
import android.text.TextUtils;
import android.view.MenuItem;
import androidx.annotation.NonNull;
@ -20,6 +21,8 @@ import com.fongmi.android.tv.server.Server;
import com.fongmi.android.tv.ui.fragment.SettingFragment;
import com.fongmi.android.tv.ui.fragment.VodFragment;
import com.fongmi.android.tv.utils.Notify;
import com.fongmi.android.tv.utils.Utils;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import com.google.android.material.navigation.NavigationBarView;
import java.util.ArrayList;
@ -31,6 +34,14 @@ public class MainActivity extends BaseActivity implements NavigationBarView.OnIt
private List<Fragment> mFragments;
private boolean confirm;
private VodFragment getVodFragment() {
return (VodFragment) getSupportFragmentManager().findFragmentByTag("0");
}
private SettingFragment getSettingFragment() {
return (SettingFragment) getSupportFragmentManager().findFragmentByTag("1");
}
@Override
protected ViewBinding getBinding() {
return mBinding = ActivityMainBinding.inflate(getLayoutInflater());
@ -51,12 +62,6 @@ public class MainActivity extends BaseActivity implements NavigationBarView.OnIt
initConfig();
}
private void checkAction(Intent intent) {
boolean hasPush = ApiConfig.get().getSite("push_agent") != null;
boolean hasAction = intent.getAction() != null && intent.getAction().equals(Intent.ACTION_SEND) && intent.getType().equals("text/plain");
if (hasPush && hasAction) DetailActivity.start(this, "push_agent", intent.getStringExtra(Intent.EXTRA_TEXT), "");
}
@Override
protected void initEvent() {
mBinding.navigation.setOnItemSelectedListener(this);
@ -93,12 +98,26 @@ public class MainActivity extends BaseActivity implements NavigationBarView.OnIt
};
}
private VodFragment getVodFragment() {
return (VodFragment) getSupportFragmentManager().findFragmentByTag("0");
private void checkAction(Intent intent) {
boolean hasPush = ApiConfig.get().getSite("push_agent") != null;
boolean hasAction = intent.getAction() != null && intent.getAction().equals(Intent.ACTION_SEND) && intent.getType().equals("text/plain");
if (hasPush && hasAction) DetailActivity.start(this, "push_agent", intent.getStringExtra(Intent.EXTRA_TEXT), "");
else checkClip();
}
private SettingFragment getSettingFragment() {
return (SettingFragment) getSupportFragmentManager().findFragmentByTag("1");
private void checkClip() {
CharSequence text = Utils.getClip();
if (TextUtils.isEmpty(text)) return;
showDialog(text.toString());
}
private void showDialog(String text) {
new MaterialAlertDialogBuilder(this).setMessage(getString(R.string.home_open_url, text))
.setNegativeButton(R.string.dialog_negative, (dialog, which) -> Utils.clearClip())
.setPositiveButton(R.string.dialog_positive, (dialog, which) -> {
DetailActivity.start(MainActivity.this, "push_agent", text, "");
Utils.clearClip();
}).show();
}
private void setConfirm() {

@ -1,4 +1,4 @@
<resources>
<resources xmlns:xliff="http://schemas.android.com/apk/res-auto">
<!-- Nav -->
<string name="nav_vod">点播</string>
@ -8,6 +8,7 @@
<string name="home">首页</string>
<string name="home_history">最近观看</string>
<string name="home_recommend">更新推荐</string>
<string name="home_open_url">是否开启「<xliff:g name="name">%s</xliff:g>」?</string>
<!-- Detail -->
<string name="detail_flag">线路</string>

@ -1,4 +1,4 @@
<resources>
<resources xmlns:xliff="http://schemas.android.com/apk/res-auto">
<!-- Nav -->
<string name="nav_vod">點播</string>
@ -8,6 +8,7 @@
<string name="home">首頁</string>
<string name="home_history">最近觀看</string>
<string name="home_recommend">更新推薦</string>
<string name="home_open_url">是否開啟「<xliff:g name="name">%s</xliff:g>」?</string>
<!-- Detail -->
<string name="detail_flag">線路</string>

@ -1,4 +1,4 @@
<resources>
<resources xmlns:tools="http://schemas.android.com/tools" xmlns:xliff="http://schemas.android.com/apk/res-auto" tools:ignore="MissingTranslation">
<!-- Nav -->
<string name="nav_vod">Vod</string>
@ -8,6 +8,7 @@
<string name="home">Home</string>
<string name="home_history">History</string>
<string name="home_recommend">Recommend</string>
<string name="home_open_url">Open <xliff:g name="name">%s</xliff:g> ?</string>
<!-- Detail -->
<string name="detail_flag">Flag</string>

Loading…
Cancel
Save