[app] Add reinstall (#1287)
This commit is contained in:
parent
d35e421b2d
commit
24c468164e
|
|
@ -187,7 +187,7 @@ dependencies {
|
||||||
implementation("dev.rikka.rikkax.material:material:1.6.6")
|
implementation("dev.rikka.rikkax.material:material:1.6.6")
|
||||||
implementation("dev.rikka.rikkax.preference:simplemenu-preference:1.0.3")
|
implementation("dev.rikka.rikkax.preference:simplemenu-preference:1.0.3")
|
||||||
implementation("dev.rikka.rikkax.recyclerview:recyclerview-ktx:1.2.2")
|
implementation("dev.rikka.rikkax.recyclerview:recyclerview-ktx:1.2.2")
|
||||||
implementation("dev.rikka.rikkax.widget:borderview:1.0.1")
|
implementation("dev.rikka.rikkax.widget:borderview:1.1.0")
|
||||||
implementation("dev.rikka.rikkax.widget:switchbar:1.0.2")
|
implementation("dev.rikka.rikkax.widget:switchbar:1.0.2")
|
||||||
implementation("dev.rikka.rikkax.layoutinflater:layoutinflater:1.1.0")
|
implementation("dev.rikka.rikkax.layoutinflater:layoutinflater:1.1.0")
|
||||||
implementation("me.zhanghai.android.appiconloader:appiconloader:1.3.1")
|
implementation("me.zhanghai.android.appiconloader:appiconloader:1.3.1")
|
||||||
|
|
|
||||||
|
|
@ -33,9 +33,11 @@ public class FlashDialogBuilder extends BlurBehindDialogBuilder {
|
||||||
private final TextView textView;
|
private final TextView textView;
|
||||||
private final BorderNestedScrollView rootView;
|
private final BorderNestedScrollView rootView;
|
||||||
|
|
||||||
public FlashDialogBuilder(@NonNull Context context, String zipPath, String notes) {
|
public FlashDialogBuilder(@NonNull Context context) {
|
||||||
super(context);
|
super(context);
|
||||||
this.zipPath = zipPath;
|
var pref = App.getPreferences();
|
||||||
|
var notes = pref.getString("release_notes", "");
|
||||||
|
this.zipPath = pref.getString("zip_file", null);
|
||||||
setTitle(R.string.update_lsposed);
|
setTitle(R.string.update_lsposed);
|
||||||
|
|
||||||
textView = new MaterialTextView(context);
|
textView = new MaterialTextView(context);
|
||||||
|
|
@ -58,13 +60,9 @@ public class FlashDialogBuilder extends BlurBehindDialogBuilder {
|
||||||
public AlertDialog show() {
|
public AlertDialog show() {
|
||||||
var dialog = super.show();
|
var dialog = super.show();
|
||||||
var button = dialog.getButton(AlertDialog.BUTTON_POSITIVE);
|
var button = dialog.getButton(AlertDialog.BUTTON_POSITIVE);
|
||||||
button.setEnabled(false);
|
rootView.setBorderVisibilityChangedListener((t, ot, b, ob) -> button.setEnabled(!b));
|
||||||
rootView.setOnScrollChangeListener((View.OnScrollChangeListener)
|
|
||||||
(v, scrollX, scrollY, oldScrollX, oldScrollY) -> button.setEnabled(
|
|
||||||
v.getScrollY() + v.getHeight() - v.getPaddingTop() - v.getPaddingBottom()
|
|
||||||
== rootView.getChildAt(0).getHeight()));
|
|
||||||
button.setOnClickListener((v) -> {
|
button.setOnClickListener((v) -> {
|
||||||
rootView.setOnScrollChangeListener((View.OnScrollChangeListener) null);
|
rootView.setBorderVisibilityChangedListener(null);
|
||||||
setFlashView(v, dialog);
|
setFlashView(v, dialog);
|
||||||
});
|
});
|
||||||
return dialog;
|
return dialog;
|
||||||
|
|
|
||||||
|
|
@ -101,18 +101,20 @@ public class HomeFragment extends BaseFragment {
|
||||||
new InfoDialogBuilder(activity).show();
|
new InfoDialogBuilder(activity).show();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (UpdateUtil.canUpdate()) {
|
if (UpdateUtil.canInstall()) {
|
||||||
var pref = App.getPreferences();
|
new FlashDialogBuilder(activity).show();
|
||||||
var zip = pref.getString("zip_file", null);
|
return;
|
||||||
var notes = pref.getString("release_notes", "");
|
|
||||||
if (zip != null) {
|
|
||||||
new FlashDialogBuilder(activity, zip, notes).show();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
NavUtil.startURL(activity, getString(R.string.about_source));
|
NavUtil.startURL(activity, getString(R.string.about_source));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
binding.status.setOnLongClickListener(v -> {
|
||||||
|
if (UpdateUtil.canInstall()) {
|
||||||
|
new FlashDialogBuilder(activity).show();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
});
|
||||||
binding.modules.setOnClickListener(new StartFragmentListener(R.id.action_modules_fragment, true));
|
binding.modules.setOnClickListener(new StartFragmentListener(R.id.action_modules_fragment, true));
|
||||||
binding.download.setOnClickListener(new StartFragmentListener(R.id.action_repo_fragment, false));
|
binding.download.setOnClickListener(new StartFragmentListener(R.id.action_repo_fragment, false));
|
||||||
binding.logs.setOnClickListener(new StartFragmentListener(R.id.action_logs_fragment, true));
|
binding.logs.setOnClickListener(new StartFragmentListener(R.id.action_logs_fragment, true));
|
||||||
|
|
|
||||||
|
|
@ -110,9 +110,11 @@ public class UpdateUtil {
|
||||||
return zip;
|
return zip;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean canUpdate() {
|
public static boolean canInstall() {
|
||||||
if (!ConfigManager.isBinderAlive()) return false;
|
if (!ConfigManager.isBinderAlive()) return false;
|
||||||
var pref = App.getPreferences();
|
var pref = App.getPreferences();
|
||||||
|
var zip = pref.getString("zip_file", null);
|
||||||
|
if (zip == null || !new File(zip).isFile()) return false;
|
||||||
var zipTime = pref.getLong("zip_time", BuildConfig.BUILD_TIME);
|
var zipTime = pref.getLong("zip_time", BuildConfig.BUILD_TIME);
|
||||||
return zipTime > BuildConfig.BUILD_TIME;
|
return zipTime > BuildConfig.BUILD_TIME;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue