Handle bootblock detect failure cases

This commit is contained in:
topjohnwu 2017-01-26 14:25:12 +08:00
parent 46a4070f84
commit 7263b6fe89

View File

@ -47,12 +47,13 @@ public class InstallFragment extends Fragment implements CallbackHandler.EventLi
installTitle.setText(getString(R.string.install_magisk_title, Global.Info.remoteMagiskVersion)); installTitle.setText(getString(R.string.install_magisk_title, Global.Info.remoteMagiskVersion));
flashButton.setOnClickListener(v1 -> { flashButton.setOnClickListener(v1 -> {
String bootImage; String bootImage;
if (spinner.getSelectedItemPosition() > 0) if (Global.Info.bootBlock != null) {
bootImage = Global.Data.blockList.get(spinner.getSelectedItemPosition() - 1); if (spinner.getSelectedItemPosition() > 0)
else bootImage = Global.Data.blockList.get(spinner.getSelectedItemPosition() - 1);
bootImage = Global.Info.bootBlock; else
if (bootImage == null) { bootImage = Global.Info.bootBlock;
bootImage = Global.Data.blockList.get(spinner.getSelectedItemPosition() - 1); } else {
bootImage = Global.Data.blockList.get(spinner.getSelectedItemPosition());
} }
String filename = "Magisk-v" + Global.Info.remoteMagiskVersion + ".zip"; String filename = "Magisk-v" + Global.Info.remoteMagiskVersion + ".zip";
String finalBootImage = bootImage; String finalBootImage = bootImage;
@ -84,7 +85,8 @@ public class InstallFragment extends Fragment implements CallbackHandler.EventLi
private void updateUI() { private void updateUI() {
List<String> items = new ArrayList<>(Global.Data.blockList); List<String> items = new ArrayList<>(Global.Data.blockList);
items.add(0, getString(R.string.auto_detect, Global.Info.bootBlock)); if (Global.Info.bootBlock != null)
items.add(0, getString(R.string.auto_detect, Global.Info.bootBlock));
ArrayAdapter<String> adapter = new ArrayAdapter<>(getActivity(), ArrayAdapter<String> adapter = new ArrayAdapter<>(getActivity(),
android.R.layout.simple_spinner_item, items); android.R.layout.simple_spinner_item, items);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);