Keep sync mode value

release
FongMi 2 years ago
parent 44a2801caf
commit febff9912a
  1. 8
      app/src/main/java/com/fongmi/android/tv/Setting.java
  2. 5
      app/src/main/java/com/fongmi/android/tv/utils/ResUtil.java
  3. 26
      app/src/mobile/java/com/fongmi/android/tv/ui/dialog/SyncDialog.java
  4. 10
      app/src/mobile/res/drawable/ic_cast_download.xml
  5. 10
      app/src/mobile/res/drawable/ic_cast_upload.xml
  6. 10
      app/src/mobile/res/drawable/ic_sync_download.xml
  7. 0
      app/src/mobile/res/drawable/ic_sync_two.xml
  8. 10
      app/src/mobile/res/drawable/ic_sync_upload.xml
  9. 2
      app/src/mobile/res/layout/dialog_device.xml
  10. 10
      app/src/mobile/res/values/arrays.xml

@ -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");
}

@ -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);
}

@ -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() {

@ -1,10 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="?attr/colorControlNormal"
android:viewportWidth="960"
android:viewportHeight="960">
<path
android:fillColor="@android:color/white"
android:pathData="M480,640L280,440L336,382L440,486L440,160L520,160L520,486L624,382L680,440L480,640ZM240,800Q207,800 183.5,776.5Q160,753 160,720L160,600L240,600L240,720Q240,720 240,720Q240,720 240,720L720,720Q720,720 720,720Q720,720 720,720L720,600L800,600L800,720Q800,753 776.5,776.5Q753,800 720,800L240,800Z" />
</vector>

@ -1,10 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="?attr/colorControlNormal"
android:viewportWidth="960"
android:viewportHeight="960">
<path
android:fillColor="@android:color/white"
android:pathData="M440,640L440,314L336,418L280,360L480,160L680,360L624,418L520,314L520,640L440,640ZM240,800Q207,800 183.5,776.5Q160,753 160,720L160,600L240,600L240,720Q240,720 240,720Q240,720 240,720L720,720Q720,720 720,720Q720,720 720,720L720,600L800,600L800,720Q800,753 776.5,776.5Q753,800 720,800L240,800Z" />
</vector>

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="?attr/colorControlNormal"
android:viewportWidth="960"
android:viewportHeight="960">
<path
android:fillColor="@android:color/white"
android:pathData="M440,160L440,647L216,423L160,480L480,800L800,480L744,423L520,647L520,160L440,160Z" />
</vector>

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="?attr/colorControlNormal"
android:viewportWidth="960"
android:viewportHeight="960">
<path
android:fillColor="@android:color/white"
android:pathData="M440,800L440,313L216,537L160,480L480,160L800,480L744,537L520,313L520,800L440,800Z" />
</vector>

@ -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" />

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<integer-array name="cast_mode">
<item>@drawable/ic_sync_two</item>
<item>@drawable/ic_sync_upload</item>
<item>@drawable/ic_sync_download</item>
</integer-array>
</resources>
Loading…
Cancel
Save