Clean update code

pull/605/head
jhengazuki 5 months ago
parent b29344e14b
commit 92ccd3277b
  1. 4
      app/build.gradle
  2. 24
      app/src/leanback/java/com/fongmi/android/tv/Updater.java
  3. 2
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/HomeActivity.java
  4. 8
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/SettingActivity.java
  5. 12
      app/src/main/java/com/fongmi/android/tv/utils/Github.java
  6. 24
      app/src/mobile/java/com/fongmi/android/tv/Updater.java
  7. 2
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/HomeActivity.java
  8. 8
      app/src/mobile/java/com/fongmi/android/tv/ui/fragment/SettingFragment.java

@ -11,8 +11,8 @@ android {
applicationId "com.fongmi.android.tv"
minSdk 24
targetSdk 36
versionCode 450
versionName "4.5.0"
versionCode 451
versionName "4.5.1"
javaCompileOptions {
annotationProcessorOptions {
arguments = ["room.schemaLocation": "$projectDir/schemas".toString(), "eventBusIndex": "com.fongmi.android.tv.event.EventIndex"]

@ -26,18 +26,17 @@ public class Updater implements Download.Callback {
private DialogUpdateBinding binding;
private final Download download;
private AlertDialog dialog;
private boolean dev;
private File getFile() {
return Path.cache("update.apk");
}
private String getJson() {
return Github.getJson(dev, BuildConfig.FLAVOR_mode);
return Github.getJson(BuildConfig.FLAVOR_mode);
}
private String getApk() {
return Github.getApk(dev, BuildConfig.FLAVOR_mode + "-" + BuildConfig.FLAVOR_abi);
return Github.getApk(BuildConfig.FLAVOR_mode + "-" + BuildConfig.FLAVOR_abi);
}
public static Updater create() {
@ -54,36 +53,23 @@ public class Updater implements Download.Callback {
return this;
}
public Updater release() {
this.dev = false;
return this;
}
public Updater dev() {
this.dev = true;
return this;
}
private Updater check() {
dismiss();
return this;
}
public void start(Activity activity) {
if (!Setting.getUpdate()) return;
App.execute(() -> doInBackground(activity));
}
private boolean need(int code, String name) {
return Setting.getUpdate() && (dev ? !name.equals(BuildConfig.VERSION_NAME) && code >= BuildConfig.VERSION_CODE : code > BuildConfig.VERSION_CODE);
}
private void doInBackground(Activity activity) {
try {
JSONObject object = new JSONObject(OkHttp.string(getJson()));
String name = object.optString("name");
String desc = object.optString("desc");
int code = object.optInt("code");
if (need(code, name)) App.post(() -> show(activity, name, desc));
if (code > BuildConfig.VERSION_CODE) App.post(() -> show(activity, name, desc));
} catch (Exception e) {
e.printStackTrace();
}
@ -109,7 +95,7 @@ public class Updater implements Download.Callback {
}
private void confirm(View view) {
binding.confirm.setEnabled(false);
view.setEnabled(false);
download.start();
}

@ -104,8 +104,8 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen
protected void initView() {
mClock = Clock.create(mBinding.clock);
mBinding.progressLayout.showProgress();
Updater.create().release().start(this);
PermissionUtil.requestNotify(this);
Updater.create().start(this);
mResult = Result.empty();
Server.get().start();
setRecyclerView();

@ -120,7 +120,6 @@ public class SettingActivity extends BaseActivity implements ConfigCallback, Sit
mBinding.wall.setOnLongClickListener(this::onWallEdit);
mBinding.incognito.setOnClickListener(this::setIncognito);
mBinding.vodHistory.setOnClickListener(this::onVodHistory);
mBinding.version.setOnLongClickListener(this::onVersionDev);
mBinding.liveHistory.setOnClickListener(this::onLiveHistory);
mBinding.wallDefault.setOnClickListener(this::setWallDefault);
mBinding.wallRefresh.setOnClickListener(this::setWallRefresh);
@ -261,12 +260,7 @@ public class SettingActivity extends BaseActivity implements ConfigCallback, Sit
}
private void onVersion(View view) {
Updater.create().force().release().start(this);
}
private boolean onVersionDev(View view) {
Updater.create().force().dev().start(this);
return true;
Updater.create().force().start(this);
}
private void setWallDefault(View view) {

@ -4,15 +4,15 @@ public class Github {
public static final String URL = "https://raw.githubusercontent.com/FongMi/Release/fongmi";
private static String getUrl(String path, String name) {
return URL + "/" + path + "/" + name;
private static String getUrl(String name) {
return URL + "/" + "apk/release" + "/" + name;
}
public static String getJson(boolean dev, String name) {
return getUrl("apk/" + (dev ? "dev" : "release"), name + ".json");
public static String getJson(String name) {
return getUrl(name + ".json");
}
public static String getApk(boolean dev, String name) {
return getUrl("apk/" + (dev ? "dev" : "release"), name + ".apk");
public static String getApk(String name) {
return getUrl(name + ".apk");
}
}

@ -27,18 +27,17 @@ public class Updater implements Download.Callback {
private DialogUpdateBinding binding;
private final Download download;
private AlertDialog dialog;
private boolean dev;
private File getFile() {
return Path.cache("update.apk");
}
private String getJson() {
return Github.getJson(dev, BuildConfig.FLAVOR_mode);
return Github.getJson(BuildConfig.FLAVOR_mode);
}
private String getApk() {
return Github.getApk(dev, BuildConfig.FLAVOR_mode + "-" + BuildConfig.FLAVOR_abi);
return Github.getApk(BuildConfig.FLAVOR_mode + "-" + BuildConfig.FLAVOR_abi);
}
public static Updater create() {
@ -55,36 +54,23 @@ public class Updater implements Download.Callback {
return this;
}
public Updater release() {
this.dev = false;
return this;
}
public Updater dev() {
this.dev = true;
return this;
}
private Updater check() {
dismiss();
return this;
}
public void start(Activity activity) {
if (!Setting.getUpdate()) return;
App.execute(() -> doInBackground(activity));
}
private boolean need(int code, String name) {
return Setting.getUpdate() && (dev ? !name.equals(BuildConfig.VERSION_NAME) && code >= BuildConfig.VERSION_CODE : code > BuildConfig.VERSION_CODE);
}
private void doInBackground(Activity activity) {
try {
JSONObject object = new JSONObject(OkHttp.string(getJson()));
String name = object.optString("name");
String desc = object.optString("desc");
int code = object.optInt("code");
if (need(code, name)) App.post(() -> show(activity, name, desc));
if (code > BuildConfig.VERSION_CODE) App.post(() -> show(activity, name, desc));
} catch (Exception e) {
e.printStackTrace();
}
@ -105,7 +91,7 @@ public class Updater implements Download.Callback {
private void cancel(View view) {
Setting.putUpdate(false);
download.cancel();
dialog.dismiss();
dismiss();
}
private void confirm(View view) {

@ -72,9 +72,9 @@ public class HomeActivity extends BaseActivity implements NavigationBarView.OnIt
@Override
protected void initView(Bundle savedInstanceState) {
orientation = getResources().getConfiguration().orientation;
Updater.create().release().start(this);
PermissionUtil.requestNotify(this);
initFragment(savedInstanceState);
Updater.create().start(this);
Server.get().start();
initConfig();
}

@ -127,7 +127,6 @@ public class SettingFragment extends BaseFragment implements ConfigCallback, Sit
mBinding.wall.setOnLongClickListener(this::onWallEdit);
mBinding.incognito.setOnClickListener(this::setIncognito);
mBinding.vodHistory.setOnClickListener(this::onVodHistory);
mBinding.version.setOnLongClickListener(this::onVersionDev);
mBinding.liveHistory.setOnClickListener(this::onLiveHistory);
mBinding.wallDefault.setOnClickListener(this::setWallDefault);
mBinding.wallRefresh.setOnClickListener(this::setWallRefresh);
@ -268,12 +267,7 @@ public class SettingFragment extends BaseFragment implements ConfigCallback, Sit
}
private void onVersion(View view) {
Updater.create().force().release().start(requireActivity());
}
private boolean onVersionDev(View view) {
Updater.create().force().dev().start(requireActivity());
return true;
Updater.create().force().start(requireActivity());
}
private void setWallDefault(View view) {

Loading…
Cancel
Save