pull/171/head
FongMi 2 years ago
parent 6c92bf726a
commit 84d94f1da9
  1. 2
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/SettingActivity.java
  2. 3
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java
  3. 3
      app/src/leanback/java/com/fongmi/android/tv/ui/custom/dialog/ConfigDialog.java
  4. 12
      app/src/main/java/com/fongmi/android/tv/utils/Utils.java
  5. 13
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java
  6. 3
      app/src/mobile/java/com/fongmi/android/tv/ui/fragment/SettingFragment.java

@ -128,7 +128,7 @@ public class SettingActivity extends BaseActivity implements ConfigCallback, Sit
@Override
public void setConfig(Config config) {
if (config.getUrl().startsWith("file") && !Utils.hasPermission(this)) {
if (config.getUrl().startsWith("file") && !PermissionX.isGranted(this, Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
PermissionX.init(this).permissions(Manifest.permission.WRITE_EXTERNAL_STORAGE).request((allGranted, grantedList, deniedList) -> load(config));
} else {
load(config);

@ -79,7 +79,6 @@ import com.fongmi.android.tv.utils.Notify;
import com.fongmi.android.tv.utils.ResUtil;
import com.fongmi.android.tv.utils.Sniffer;
import com.fongmi.android.tv.utils.Traffic;
import com.fongmi.android.tv.utils.Utils;
import com.github.bassaer.library.MDColor;
import com.github.catvod.net.OkHttp;
import com.github.catvod.utils.Trans;
@ -152,7 +151,7 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List
public static void file(FragmentActivity activity, String path) {
if (TextUtils.isEmpty(path)) return;
String name = new File(path).getName();
if (Utils.hasPermission(activity)) start(activity, "push_agent", "file://" + path, name, true);
if (PermissionX.isGranted(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE)) start(activity, "push_agent", "file://" + path, name, true);
else PermissionX.init(activity).permissions(Manifest.permission.WRITE_EXTERNAL_STORAGE).request((allGranted, grantedList, deniedList) -> start(activity, "push_agent", "file://" + path, name, true));
}

@ -24,7 +24,6 @@ import com.fongmi.android.tv.ui.custom.CustomTextListener;
import com.fongmi.android.tv.utils.QRCode;
import com.fongmi.android.tv.utils.ResUtil;
import com.fongmi.android.tv.utils.UrlUtil;
import com.fongmi.android.tv.utils.Utils;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import com.permissionx.guolindev.PermissionX;
@ -79,8 +78,8 @@ public class ConfigDialog implements DialogInterface.OnDismissListener {
binding.text.setText(url = getUrl());
binding.code.setImageBitmap(QRCode.getBitmap(address, 200, 0));
binding.text.setSelection(TextUtils.isEmpty(url) ? 0 : url.length());
binding.storage.setVisibility(Utils.hasPermission(activity) ? View.GONE : View.VISIBLE);
binding.info.setText(ResUtil.getString(R.string.push_info, address).replace(",", "\n"));
binding.storage.setVisibility(PermissionX.isGranted(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE) ? View.GONE : View.VISIBLE);
}
private void initEvent() {

@ -1,6 +1,5 @@
package com.fongmi.android.tv.utils;
import android.Manifest;
import android.app.Activity;
import android.content.ClipboardManager;
import android.content.Context;
@ -11,10 +10,7 @@ import android.view.Window;
import android.view.WindowManager;
import android.view.inputmethod.InputMethodManager;
import androidx.fragment.app.FragmentActivity;
import com.fongmi.android.tv.App;
import com.permissionx.guolindev.PermissionX;
public class Utils {
@ -43,14 +39,6 @@ public class Utils {
imm.hideSoftInputFromWindow(windowToken, 0);
}
public static boolean isAutoRotate() {
return Settings.System.getInt(App.get().getContentResolver(), Settings.System.ACCELEROMETER_ROTATION, 0) == 1;
}
public static boolean hasPermission(FragmentActivity activity) {
return PermissionX.isGranted(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE);
}
public static CharSequence getClipText() {
return ((ClipboardManager) App.get().getSystemService(Context.CLIPBOARD_SERVICE)).getText();
}

@ -10,6 +10,7 @@ import android.content.res.Configuration;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.os.Bundle;
import android.provider.Settings;
import android.support.v4.media.MediaMetadataCompat;
import android.text.Html;
import android.text.SpannableString;
@ -166,7 +167,7 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo
public static void file(FragmentActivity activity, String path) {
if (TextUtils.isEmpty(path)) return;
String name = new File(path).getName();
if (Utils.hasPermission(activity)) start(activity, "push_agent", "file://" + path, name);
if (PermissionX.isGranted(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE)) start(activity, "push_agent", "file://" + path, name);
else PermissionX.init(activity).permissions(Manifest.permission.WRITE_EXTERNAL_STORAGE).request((allGranted, grantedList, deniedList) -> start(activity, "push_agent", "file://" + path, name));
}
@ -256,6 +257,10 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo
return getCallingActivity() != null && getCallingActivity().getShortClassName().contains(CollectActivity.class.getSimpleName());
}
private boolean isAutoRotate() {
return Settings.System.getInt(getContentResolver(), Settings.System.ACCELEROMETER_ROTATION, 0) == 1;
}
private boolean isLand() {
return mBinding.getRoot().getTag().equals("land");
}
@ -932,7 +937,7 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo
return ResUtil.isLand(this) ? ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE : ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT;
} else if (isRotate()) {
return ActivityInfo.SCREEN_ORIENTATION_USER_PORTRAIT;
} else if (isPort() && Utils.isAutoRotate()) {
} else if (isPort() && isAutoRotate()) {
return ActivityInfo.SCREEN_ORIENTATION_FULL_USER;
} else {
return ResUtil.isLand(this) ? ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE : ActivityInfo.SCREEN_ORIENTATION_USER_PORTRAIT;
@ -1009,8 +1014,8 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo
}
private void setOrient() {
if (isPort() && Utils.isAutoRotate()) setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_FULL_USER);
if (isLand() && Utils.isAutoRotate()) setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_USER_LANDSCAPE);
if (isPort() && isAutoRotate()) setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_FULL_USER);
if (isLand() && isAutoRotate()) setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_USER_LANDSCAPE);
}
private void setR1Callback() {

@ -40,7 +40,6 @@ import com.fongmi.android.tv.utils.FileChooser;
import com.fongmi.android.tv.utils.FileUtil;
import com.fongmi.android.tv.utils.Notify;
import com.fongmi.android.tv.utils.ResUtil;
import com.fongmi.android.tv.utils.Utils;
import com.github.catvod.bean.Doh;
import com.github.catvod.net.OkHttp;
import com.github.catvod.utils.Path;
@ -135,7 +134,7 @@ public class SettingFragment extends BaseFragment implements ConfigCallback, Sit
@Override
public void setConfig(Config config) {
if (config.getUrl().startsWith("file") && !Utils.hasPermission(getActivity())) {
if (config.getUrl().startsWith("file") && !PermissionX.isGranted(getActivity(), Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
PermissionX.init(this).permissions(Manifest.permission.WRITE_EXTERNAL_STORAGE).request((allGranted, grantedList, deniedList) -> load(config));
} else {
load(config);

Loading…
Cancel
Save