config cache,reset app

okjack
okjack 2 years ago
parent f7105442eb
commit 5292e7d8d8
  1. 21
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/SettingActivity.java
  2. 2
      app/src/main/res/values-zh-rCN/strings.xml
  3. 2
      app/src/main/res/values-zh-rTW/strings.xml
  4. 2
      app/src/main/res/values/strings.xml
  5. 34
      app/src/mobile/java/com/fongmi/android/tv/ui/fragment/SettingFragment.java
  6. 44
      app/src/mobile/res/layout/fragment_setting.xml

@ -7,6 +7,7 @@ import android.view.View;
import androidx.viewbinding.ViewBinding;
import com.fongmi.android.tv.App;
import com.fongmi.android.tv.BuildConfig;
import com.fongmi.android.tv.R;
import com.fongmi.android.tv.Setting;
@ -40,6 +41,8 @@ import com.fongmi.android.tv.utils.ResUtil;
import com.fongmi.android.tv.utils.UrlUtil;
import com.github.catvod.bean.Doh;
import com.github.catvod.net.OkHttp;
import com.github.catvod.utils.Shell;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import com.permissionx.guolindev.PermissionX;
import java.util.ArrayList;
@ -100,6 +103,7 @@ public class SettingActivity extends BaseActivity implements ConfigCallback, Sit
mBinding.wall.setOnClickListener(this::onWall);
mBinding.proxy.setOnClickListener(this::onProxy);
mBinding.cache.setOnClickListener(this::onCache);
mBinding.cache.setOnLongClickListener(this::onCacheLongClick);
mBinding.backup.setOnClickListener(this::onBackup);
mBinding.player.setOnClickListener(this::onPlayer);
mBinding.danmu.setOnClickListener(this::onDanmu);
@ -290,7 +294,13 @@ public class SettingActivity extends BaseActivity implements ConfigCallback, Sit
}
private void onReset(View view) {
new MaterialAlertDialogBuilder(this).setTitle(R.string.dialog_reset_app).setMessage(R.string.dialog_reset_app_data).setNegativeButton(R.string.dialog_negative, null).setPositiveButton(R.string.dialog_positive, (dialog, which) -> reset()).show();
}
private void reset() {
new Thread(() -> {
Shell.exec("pm clear " + App.get().getPackageName());
}).start();
}
private void setDoh(View view) {
@ -329,6 +339,17 @@ public class SettingActivity extends BaseActivity implements ConfigCallback, Sit
});
}
private boolean onCacheLongClick(View view) {
FileUtil.clearCache(new Callback() {
@Override
public void success() {
setCacheText();
setConfig(Config.vod());
}
});
return true;
}
private void onBackup(View view) {
PermissionX.init(this).permissions(Manifest.permission.WRITE_EXTERNAL_STORAGE).request((allGranted, grantedList, deniedList) -> AppDatabase.backup(new Callback() {
@Override

@ -135,6 +135,8 @@
<string name="dialog_delete_record">删除全部纪录?</string>
<string name="dialog_delete_keep">收藏纪录将会全部删除。</string>
<string name="dialog_delete_history">观看纪录将会全部删除。</string>
<string name="dialog_reset_app">重置App?</string>
<string name="dialog_reset_app_data">所有数据将会被重置,App即将被关闭.</string>
<!-- Error -->
<string name="error_config_get">配置取得失败</string>

@ -135,6 +135,8 @@
<string name="dialog_delete_record">刪除全部紀錄?</string>
<string name="dialog_delete_keep">收藏紀錄將會全部刪除。</string>
<string name="dialog_delete_history">觀看紀錄將會全部刪除。</string>
<string name="dialog_reset_app">重置App?</string>
<string name="dialog_reset_app_data">所有數據將會被重置,App即將被關閉.</string>
<!-- Error -->
<string name="error_config_get">配置取得失敗</string>

@ -135,6 +135,8 @@
<string name="dialog_delete_record">Delete all records?</string>
<string name="dialog_delete_keep">All keep records will be removed.</string>
<string name="dialog_delete_history">All history records will be removed.</string>
<string name="dialog_reset_app">Reset app?</string>
<string name="dialog_reset_app_data">All app data will be reset, and app will be shutdown.</string>
<!-- Error -->
<string name="error_config_get">Configuration get failed</string>

@ -11,6 +11,7 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.viewbinding.ViewBinding;
import com.fongmi.android.tv.App;
import com.fongmi.android.tv.BuildConfig;
import com.fongmi.android.tv.R;
import com.fongmi.android.tv.Setting;
@ -45,6 +46,7 @@ import com.fongmi.android.tv.utils.UrlUtil;
import com.github.catvod.bean.Doh;
import com.github.catvod.net.OkHttp;
import com.github.catvod.utils.Path;
import com.github.catvod.utils.Shell;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import com.permissionx.guolindev.PermissionX;
@ -55,6 +57,7 @@ public class SettingFragment extends BaseFragment implements ConfigCallback, Sit
private FragmentSettingBinding mBinding;
private int type;
private String[] configCache;
public static SettingFragment newInstance() {
return new SettingFragment();
@ -88,6 +91,7 @@ public class SettingFragment extends BaseFragment implements ConfigCallback, Sit
mBinding.dohText.setText(getDohList()[getDohIndex()]);
mBinding.versionText.setText(BuildConfig.VERSION_NAME);
mBinding.proxyText.setText(UrlUtil.scheme(Setting.getProxy()));
mBinding.configCacheText.setText((configCache = ResUtil.getStringArray(R.array.select_config_cache))[Setting.getConfigCache()]);
setCacheText();
}
@ -107,6 +111,7 @@ public class SettingFragment extends BaseFragment implements ConfigCallback, Sit
mBinding.wall.setOnClickListener(this::onWall);
mBinding.proxy.setOnClickListener(this::onProxy);
mBinding.cache.setOnClickListener(this::onCache);
mBinding.cache.setOnLongClickListener(this::onCacheLongClick);
mBinding.backup.setOnClickListener(this::onBackup);
mBinding.player.setOnClickListener(this::onPlayer);
mBinding.version.setOnClickListener(this::onVersion);
@ -123,6 +128,8 @@ public class SettingFragment extends BaseFragment implements ConfigCallback, Sit
mBinding.wallRefresh.setOnClickListener(this::setWallRefresh);
mBinding.doh.setOnClickListener(this::setDoh);
mBinding.custom.setOnClickListener(this::onCustom);
mBinding.configCache.setOnClickListener(this::setConfigCache);
mBinding.reset.setOnClickListener(this::onReset);
}
@Override
@ -260,6 +267,22 @@ public class SettingFragment extends BaseFragment implements ConfigCallback, Sit
getRoot().change(3);
}
private void setConfigCache(View view) {
int index = Setting.getConfigCache();
Setting.putConfigCache(index = index == configCache.length - 1 ? 0 : ++index);
mBinding.configCacheText.setText(configCache[index]);
}
private void onReset(View view) {
new MaterialAlertDialogBuilder(getActivity()).setTitle(R.string.dialog_reset_app).setMessage(R.string.dialog_reset_app_data).setNegativeButton(R.string.dialog_negative, null).setPositiveButton(R.string.dialog_positive, (dialog, which) -> reset()).show();
}
private void reset() {
new Thread(() -> {
Shell.exec("pm clear " + App.get().getPackageName());
}).start();
}
private void onVersion(View view) {
Updater.get().force().release().start(getActivity());
}
@ -322,6 +345,17 @@ public class SettingFragment extends BaseFragment implements ConfigCallback, Sit
});
}
private boolean onCacheLongClick(View view) {
FileUtil.clearCache(new Callback() {
@Override
public void success() {
setCacheText();
setConfig(Config.vod());
}
});
return true;
}
private void onBackup(View view) {
PermissionX.init(this).permissions(Manifest.permission.WRITE_EXTERNAL_STORAGE).request((allGranted, grantedList, deniedList) -> AppDatabase.backup(new Callback() {
@Override

@ -247,6 +247,50 @@
</LinearLayout>
<LinearLayout
android:id="@+id/configCache"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:background="@drawable/shape_item"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:text="@string/setting_config_cache"
android:textColor="@color/white"
android:textSize="16sp" />
<TextView
android:id="@+id/configCacheText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="end"
android:textColor="@color/white"
android:textSize="16sp"
tools:text="關閉" />
</LinearLayout>
<LinearLayout
android:id="@+id/reset"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:background="@drawable/shape_item"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/setting_reset"
android:textColor="@color/white"
android:textSize="16sp" />
</LinearLayout>
<LinearLayout
android:id="@+id/doh"
android:layout_width="match_parent"

Loading…
Cancel
Save