diff --git a/app/src/main/java/com/fongmi/android/tv/Setting.java b/app/src/main/java/com/fongmi/android/tv/Setting.java
index 76b0964d5..4b18c29ed 100644
--- a/app/src/main/java/com/fongmi/android/tv/Setting.java
+++ b/app/src/main/java/com/fongmi/android/tv/Setting.java
@@ -169,6 +169,14 @@ public class Setting {
Prefers.put("site_mode", mode);
}
+ public static int getSyncMode() {
+ return Prefers.getInt("sync_mode");
+ }
+
+ public static void putSyncMode(int mode) {
+ Prefers.put("sync_mode", mode);
+ }
+
public static int getBackupMode() {
return Prefers.getInt("backup_mode");
}
diff --git a/app/src/main/java/com/fongmi/android/tv/utils/ResUtil.java b/app/src/main/java/com/fongmi/android/tv/utils/ResUtil.java
index 66f4821e6..5aabf8608 100644
--- a/app/src/main/java/com/fongmi/android/tv/utils/ResUtil.java
+++ b/app/src/main/java/com/fongmi/android/tv/utils/ResUtil.java
@@ -4,6 +4,7 @@ import android.app.Activity;
import android.content.Context;
import android.content.res.Configuration;
import android.content.res.Resources;
+import android.content.res.TypedArray;
import android.graphics.Paint;
import android.graphics.Point;
import android.graphics.drawable.Drawable;
@@ -119,6 +120,10 @@ public class ResUtil {
return App.get().getResources().getStringArray(resId);
}
+ public static TypedArray getTypedArray(@ArrayRes int resId) {
+ return App.get().getResources().obtainTypedArray(resId);
+ }
+
public static Drawable getDrawable(@DrawableRes int resId) {
return ContextCompat.getDrawable(App.get(), resId);
}
diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/dialog/SyncDialog.java b/app/src/mobile/java/com/fongmi/android/tv/ui/dialog/SyncDialog.java
index 90778728c..87464275b 100644
--- a/app/src/mobile/java/com/fongmi/android/tv/ui/dialog/SyncDialog.java
+++ b/app/src/mobile/java/com/fongmi/android/tv/ui/dialog/SyncDialog.java
@@ -1,5 +1,6 @@
package com.fongmi.android.tv.ui.dialog;
+import android.content.res.TypedArray;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -13,6 +14,7 @@ import androidx.viewbinding.ViewBinding;
import com.fongmi.android.tv.App;
import com.fongmi.android.tv.Constant;
import com.fongmi.android.tv.R;
+import com.fongmi.android.tv.Setting;
import com.fongmi.android.tv.api.config.VodConfig;
import com.fongmi.android.tv.bean.Config;
import com.fongmi.android.tv.bean.Device;
@@ -24,6 +26,7 @@ import com.fongmi.android.tv.impl.Callback;
import com.fongmi.android.tv.ui.activity.ScanActivity;
import com.fongmi.android.tv.ui.adapter.DeviceAdapter;
import com.fongmi.android.tv.utils.Notify;
+import com.fongmi.android.tv.utils.ResUtil;
import com.fongmi.android.tv.utils.ScanTask;
import com.github.catvod.net.OkHttp;
import com.google.android.material.bottomsheet.BottomSheetDialogFragment;
@@ -45,6 +48,7 @@ public class SyncDialog extends BaseDialog implements DeviceAdapter.OnClickListe
private final FormBody.Builder body;
private final OkHttpClient client;
+ private final TypedArray mode;
private DialogDeviceBinding binding;
private DeviceAdapter adapter;
private String type;
@@ -55,6 +59,7 @@ public class SyncDialog extends BaseDialog implements DeviceAdapter.OnClickListe
public SyncDialog() {
client = OkHttp.client(Constant.TIMEOUT_SYNC);
+ mode = ResUtil.getTypedArray(R.array.cast_mode);
body = new FormBody.Builder();
}
@@ -93,6 +98,7 @@ public class SyncDialog extends BaseDialog implements DeviceAdapter.OnClickListe
EventBus.getDefault().register(this);
setRecyclerView();
getDevice();
+ setMode();
}
@Override
@@ -112,17 +118,17 @@ public class SyncDialog extends BaseDialog implements DeviceAdapter.OnClickListe
if (adapter.getItemCount() == 0) App.post(this::onRefresh, 1000);
}
+ private void setMode() {
+ int index = Setting.getSyncMode();
+ binding.mode.setImageResource(mode.getResourceId(index, 0));
+ binding.mode.setTag(String.valueOf(index));
+ }
+
private void onMode() {
- if (binding.mode.getTag().toString().equals("0")) {
- binding.mode.setTag("1");
- binding.mode.setImageResource(R.drawable.ic_cast_upload);
- } else if (binding.mode.getTag().toString().equals("1")) {
- binding.mode.setTag("2");
- binding.mode.setImageResource(R.drawable.ic_cast_download);
- } else if (binding.mode.getTag().toString().equals("2")) {
- binding.mode.setTag("0");
- binding.mode.setImageResource(R.drawable.ic_cast_sync);
- }
+ int index = Setting.getSyncMode();
+ Setting.putSyncMode(index = index == mode.length() - 1 ? 0 : ++index);
+ binding.mode.setImageResource(mode.getResourceId(index, 0));
+ binding.mode.setTag(String.valueOf(index));
}
private void onScan() {
diff --git a/app/src/mobile/res/drawable/ic_cast_download.xml b/app/src/mobile/res/drawable/ic_cast_download.xml
deleted file mode 100644
index 685a6ce81..000000000
--- a/app/src/mobile/res/drawable/ic_cast_download.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
diff --git a/app/src/mobile/res/drawable/ic_cast_upload.xml b/app/src/mobile/res/drawable/ic_cast_upload.xml
deleted file mode 100644
index 5f92b0925..000000000
--- a/app/src/mobile/res/drawable/ic_cast_upload.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
diff --git a/app/src/mobile/res/drawable/ic_sync_download.xml b/app/src/mobile/res/drawable/ic_sync_download.xml
new file mode 100644
index 000000000..5252b67f1
--- /dev/null
+++ b/app/src/mobile/res/drawable/ic_sync_download.xml
@@ -0,0 +1,10 @@
+
+
+
diff --git a/app/src/mobile/res/drawable/ic_cast_sync.xml b/app/src/mobile/res/drawable/ic_sync_two.xml
similarity index 100%
rename from app/src/mobile/res/drawable/ic_cast_sync.xml
rename to app/src/mobile/res/drawable/ic_sync_two.xml
diff --git a/app/src/mobile/res/drawable/ic_sync_upload.xml b/app/src/mobile/res/drawable/ic_sync_upload.xml
new file mode 100644
index 000000000..ee521048e
--- /dev/null
+++ b/app/src/mobile/res/drawable/ic_sync_upload.xml
@@ -0,0 +1,10 @@
+
+
+
diff --git a/app/src/mobile/res/layout/dialog_device.xml b/app/src/mobile/res/layout/dialog_device.xml
index 83a5217be..6b770c518 100644
--- a/app/src/mobile/res/layout/dialog_device.xml
+++ b/app/src/mobile/res/layout/dialog_device.xml
@@ -29,7 +29,7 @@
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:background="?attr/selectableItemBackgroundBorderless"
- android:src="@drawable/ic_cast_sync"
+ android:src="@drawable/ic_sync_two"
android:tag="0"
android:visibility="gone"
tools:visibility="visible" />
diff --git a/app/src/mobile/res/values/arrays.xml b/app/src/mobile/res/values/arrays.xml
new file mode 100644
index 000000000..db7a63a49
--- /dev/null
+++ b/app/src/mobile/res/values/arrays.xml
@@ -0,0 +1,10 @@
+
+
+
+
+ - @drawable/ic_sync_two
+ - @drawable/ic_sync_upload
+ - @drawable/ic_sync_download
+
+
+
\ No newline at end of file