SettingActivity

pull/423/head
okjack 2 years ago
parent e81088f37e
commit b03a948029
  1. 25
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/SettingActivity.java
  2. 22
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/SettingCustomActivity.java
  3. 58
      app/src/leanback/res/layout/activity_setting.xml
  4. 58
      app/src/leanback/res/layout/activity_setting_custom.xml

@ -7,9 +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;
import com.fongmi.android.tv.Updater;
import com.fongmi.android.tv.api.config.LiveConfig;
@ -37,12 +35,9 @@ import com.fongmi.android.tv.ui.dialog.ProxyDialog;
import com.fongmi.android.tv.ui.dialog.SiteDialog;
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.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;
@ -52,7 +47,6 @@ public class SettingActivity extends BaseActivity implements ConfigCallback, Sit
private ActivitySettingBinding mBinding;
private int type;
private String[] configCache;
public static void start(Activity activity) {
activity.startActivity(new Intent(activity, SettingActivity.class));
@ -84,7 +78,6 @@ public class SettingActivity extends BaseActivity implements ConfigCallback, Sit
mBinding.versionText.setText(BuildConfig.VERSION_NAME);
mBinding.proxyText.setText(UrlUtil.scheme(Setting.getProxy()));
mBinding.aboutText.setText(BuildConfig.FLAVOR_mode + "-" + BuildConfig.FLAVOR_api + "-" + BuildConfig.FLAVOR_abi);
mBinding.configCacheText.setText((configCache = ResUtil.getStringArray(R.array.select_config_cache))[Setting.getConfigCache()]);
setCacheText();
}
@ -122,8 +115,6 @@ public class SettingActivity extends BaseActivity implements ConfigCallback, Sit
mBinding.wallRefresh.setOnClickListener(this::setWallRefresh);
mBinding.custom.setOnClickListener(this::onCustom);
mBinding.doh.setOnClickListener(this::setDoh);
mBinding.configCache.setOnClickListener(this::setConfigCache);
mBinding.reset.setOnClickListener(this::onReset);
}
@Override
@ -289,22 +280,6 @@ public class SettingActivity extends BaseActivity implements ConfigCallback, Sit
SettingCustomActivity.start(this);
}
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(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) {
DohDialog.create(this).index(getDohIndex()).show();
}

@ -18,6 +18,8 @@ import com.fongmi.android.tv.ui.dialog.LanguageDialog;
import com.fongmi.android.tv.ui.dialog.MenuKeyDialog;
import com.fongmi.android.tv.ui.dialog.X5WebViewDialog;
import com.fongmi.android.tv.utils.ResUtil;
import com.github.catvod.utils.Shell;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import com.tencent.smtt.sdk.QbSdk;
import java.util.Locale;
@ -31,6 +33,7 @@ public class SettingCustomActivity extends BaseActivity {
private String[] smallWindowBackKey;
private String[] homeUI;
private String[] parseWebview;
private String[] configCache;
@Override
protected ViewBinding getBinding() {
@ -62,6 +65,7 @@ public class SettingCustomActivity extends BaseActivity {
mBinding.homeHistoryText.setText(getSwitch(Setting.isHomeHistory()));
mBinding.languageText.setText((ResUtil.getStringArray(R.array.select_language))[Setting.getLanguage()]);
mBinding.parseWebviewText.setText((parseWebview = ResUtil.getStringArray(R.array.select_parse_webview))[Setting.getParseWebView()]);
mBinding.configCacheText.setText((configCache = ResUtil.getStringArray(R.array.select_config_cache))[Setting.getConfigCache()]);
}
@Override
@ -83,6 +87,8 @@ public class SettingCustomActivity extends BaseActivity {
mBinding.homeHistory.setOnClickListener(this::setHomeHistory);
mBinding.setLanguage.setOnClickListener(this::setLanguage);
mBinding.parseWebview.setOnClickListener(this::setParseWebview);
mBinding.configCache.setOnClickListener(this::setConfigCache);
mBinding.reset.setOnClickListener(this::onReset);
}
@ -194,4 +200,20 @@ public class SettingCustomActivity extends BaseActivity {
if (index == 1 && QbSdk.getTbsVersion(App.get()) <= 0) X5WebViewDialog.create(this).show();
}
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(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();
}
}

@ -319,64 +319,6 @@
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:orientation="horizontal">
<LinearLayout
android:id="@+id/configCache"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:layout_weight="1"
android:background="@drawable/selector_item"
android:focusable="true"
android:focusableInTouchMode="true"
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="18sp" />
<TextView
android:id="@+id/configCacheText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="end"
android:textColor="@color/white"
android:textSize="18sp"
tools:text="关闭" />
</LinearLayout>
<LinearLayout
android:id="@+id/reset"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/selector_item"
android:focusable="true"
android:focusableInTouchMode="true"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:text="@string/setting_reset"
android:textColor="@color/white"
android:textSize="18sp" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"

@ -530,5 +530,63 @@
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:orientation="horizontal">
<LinearLayout
android:id="@+id/configCache"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:layout_weight="1"
android:background="@drawable/selector_item"
android:focusable="true"
android:focusableInTouchMode="true"
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="18sp" />
<TextView
android:id="@+id/configCacheText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="end"
android:textColor="@color/white"
android:textSize="18sp"
tools:text="关闭" />
</LinearLayout>
<LinearLayout
android:id="@+id/reset"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/selector_item"
android:focusable="true"
android:focusableInTouchMode="true"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:text="@string/setting_reset"
android:textColor="@color/white"
android:textSize="18sp" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
</androidx.core.widget.NestedScrollView>
Loading…
Cancel
Save