Skip to content

Commit e58bad3

Browse files
committed
0.2.0-rc6
* Fixed random partition errors (if it still occurs: that is a bug!) * Added debug page * Fixed Sailfish being Unknown * Updated translations
1 parent 03c9220 commit e58bad3

File tree

13 files changed

+141
-65
lines changed

13 files changed

+141
-65
lines changed

.idea/assetWizardSettings.xml

Lines changed: 3 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ android {
1111
// we're not going to google play
1212
//noinspection OldTargetApi
1313
targetSdkVersion 27
14-
versionCode 2050
15-
versionName "0.2.0-rc5"
14+
versionCode 2060
15+
versionName "0.2.0-rc6"
1616
}
1717
signingConfigs {
1818
release {

app/src/main/AndroidManifest.xml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,11 @@
1515
android:supportsRtl="false"
1616
android:theme="@style/AppTheme"
1717
tools:replace="android:allowBackup">
18-
<activity android:name=".ui.wizard.WizardActivity"
19-
android:theme="@style/AppTheme" />
18+
<activity
19+
android:name=".ui.debug.DebugActivity" />
20+
<activity
21+
android:name=".ui.wizard.WizardActivity"
22+
android:theme="@style/AppTheme" />
2023
<activity android:name=".ui.activities.SplashActivity">
2124
<intent-filter>
2225
<action android:name="android.intent.action.MAIN" />

app/src/main/assets/Scripts

app/src/main/java/org/androidbootmanager/app/roms/ROMsList.java

Lines changed: 7 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -29,66 +29,43 @@ public List<ROM> getROMs() {
2929
ROM r = new ROM();
3030
r.scriptname = sn;
3131
r.fullPath = "/data/data/org.androidbootmanager.app/assets/Scripts/add_os/" + codename + "/" + r.scriptname;
32-
ArrayList<String> a;
33-
int b;
32+
r.requiredFiles = new HashMap<>();
33+
r.parts = new ArrayList<>();
34+
r.strings = new HashMap<>();
35+
ArrayList<String> a = new ArrayList<>(Arrays.asList(Objects.requireNonNull(SuFile.open("/data/abm/bootset/db/entries/").list())));
36+
a.removeIf((c) -> !c.contains("rom"));
37+
a.sort((c, d) -> Integer.compare(Integer.parseInt(c.replace("rom","").replace(".conf","")), Integer.parseInt(d.replace("rom","").replace(".conf",""))));
38+
int b = a.size() > 0 ? Integer.parseInt(a.get(a.size()-1).replace("rom","").replace(".conf",""))+1 : 0;
3439
switch (r.scriptname) {
3540
case "add_ubuntutouch_systemimage_haliumboot.sh":
3641
r.viewname = c.getString(R.string.rom_type_add_ut_sysimg_halium);
37-
r.requiredFiles = new HashMap<>();
3842
r.requiredFiles.put("halium-boot.img", c.getString(R.string.select_halium_boot));
3943
r.requiredFiles.put("system.img", c.getString(R.string.select_system_image));
40-
r.parts = new ArrayList<>();
4144
r.parts.add(c.getString(R.string.select_part, c.getString(R.string.system_part)));
4245
r.parts.add(c.getString(R.string.select_part, c.getString(R.string.data_part)));
43-
r.strings = new HashMap<>();
4446
r.strings.put(c.getString(R.string.enter_rom_name), "Ubuntu Touch");
45-
a = new ArrayList<>(Arrays.asList(Objects.requireNonNull(SuFile.open("/data/abm/bootset/db/entries/").list())));
46-
a.removeIf((c) -> !c.contains("rom"));
47-
a.sort((c, d) -> Integer.compare(Integer.parseInt(c.replace("rom","").replace(".conf","")), Integer.parseInt(d.replace("rom","").replace(".conf",""))));
48-
b = a.size() > 0 ? Integer.parseInt(a.get(a.size()-1).replace("rom","").replace(".conf",""))+1 : 0;
4947
r.strings.put(c.getString(R.string.enter_rom_folder), "rom" + b);
5048
r.gen = (imodel, menuName, folderName) -> imodel.setCmdline(Objects.requireNonNull(imodel.getROM().getValue()).fullPath + " '" + folderName + "' '" + menuName + "' " + Objects.requireNonNull(imodel.getParts().getValue()).get(0) + " " + imodel.getParts().getValue().get(1) + " /data/data/org.androidbootmanager.app/cache/system.img /data/data/org.androidbootmanager.app/cache/halium-boot.img");
5149
break;
5250
case "add_sailfish.sh":
5351
r.viewname = c.getString(R.string.rom_type_add_sailfish);
54-
r.requiredFiles = new HashMap<>();
5552
r.requiredFiles.put("hybris-boot.img", c.getString(R.string.select_hybris_boot));
5653
r.requiredFiles.put("sailfish.img001", c.getString(R.string.select_system_image));
57-
r.parts = new ArrayList<>();
5854
r.parts.add(c.getString(R.string.select_part, c.getString(R.string.data_part)));
59-
r.strings = new HashMap<>();
6055
r.strings.put(c.getString(R.string.enter_rom_name), "SailfishOS");
61-
a = new ArrayList<>(Arrays.asList(Objects.requireNonNull(SuFile.open("/data/abm/bootset/db/entries/").list())));
62-
a.removeIf((c) -> !c.contains("rom"));
63-
a.sort((c, d) -> Integer.compare(Integer.parseInt(c.replace("rom","").replace(".conf","")), Integer.parseInt(d.replace("rom","").replace(".conf",""))));
64-
b = a.size() > 0 ? Integer.parseInt(a.get(a.size()-1).replace("rom","").replace(".conf",""))+1 : 0;
6556
r.strings.put(c.getString(R.string.enter_rom_folder), "rom" + b);
6657
r.gen = (imodel, menuName, folderName) -> imodel.setCmdline(Objects.requireNonNull(imodel.getROM().getValue()).fullPath + " '" + folderName + "' '" + menuName + "' " + Objects.requireNonNull(imodel.getParts().getValue()).get(0) + " /data/data/org.androidbootmanager.app/cache/sailfish.img001 /data/data/org.androidbootmanager.app/cache/hybris-boot.img");
6758
break;
6859
case "other_os.sh":
6960
r.viewname = c.getString(R.string.other_os);
70-
r.requiredFiles = new HashMap<>();
7161
r.requiredFiles.put("boot.img", c.getString(R.string.select_boot));
72-
r.parts = new ArrayList<>();
73-
r.strings = new HashMap<>();
7462
r.strings.put(c.getString(R.string.enter_rom_name), "");
75-
a = new ArrayList<>(Arrays.asList(Objects.requireNonNull(SuFile.open("/data/abm/bootset/db/entries/").list())));
76-
a.removeIf((c) -> !c.contains("rom"));
77-
a.sort((c, d) -> Integer.compare(Integer.parseInt(c.replace("rom","").replace(".conf","")), Integer.parseInt(d.replace("rom","").replace(".conf",""))));
78-
b = a.size() > 0 ? Integer.parseInt(a.get(a.size()-1).replace("rom","").replace(".conf",""))+1 : 0;
7963
r.strings.put(c.getString(R.string.enter_rom_folder), "rom" + b);
8064
r.gen = (imodel, menuName, folderName) -> imodel.setCmdline(Objects.requireNonNull(imodel.getROM().getValue()).fullPath + " '" + folderName + "' '" + menuName + "' /data/data/org.androidbootmanager.app/cache/boot.img");
8165
break;
8266
case "entry_only.sh":
8367
r.viewname = c.getString(R.string.empty_entry);
84-
r.requiredFiles = new HashMap<>();
85-
r.parts = new ArrayList<>();
86-
r.strings = new HashMap<>();
8768
r.strings.put(c.getString(R.string.enter_rom_name), "");
88-
a = new ArrayList<>(Arrays.asList(Objects.requireNonNull(SuFile.open("/data/abm/bootset/db/entries/").list())));
89-
a.removeIf((c) -> !c.contains("rom"));
90-
a.sort((c, d) -> Integer.compare(Integer.parseInt(c.replace("rom","").replace(".conf","")), Integer.parseInt(d.replace("rom","").replace(".conf",""))));
91-
b = a.size() > 0 ? Integer.parseInt(a.get(a.size()-1).replace("rom","").replace(".conf",""))+1 : 0;
9269
r.strings.put(c.getString(R.string.enter_rom_folder), "rom" + b);
9370
r.gen = (imodel, menuName, folderName) -> imodel.setCmdline(Objects.requireNonNull(imodel.getROM().getValue()).fullPath + " '" + folderName + "' '" + menuName + "'");
9471
break;
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
package org.androidbootmanager.app.ui.debug;
2+
3+
import android.app.AlertDialog;
4+
import android.os.Bundle;
5+
import android.view.View;
6+
7+
import androidx.appcompat.app.AppCompatActivity;
8+
9+
import com.topjohnwu.superuser.Shell;
10+
11+
import org.androidbootmanager.app.R;
12+
13+
import java.util.ArrayList;
14+
15+
public class DebugActivity extends AppCompatActivity {
16+
17+
@Override
18+
protected void onCreate(Bundle savedInstanceState) {
19+
super.onCreate(savedInstanceState);
20+
setContentView(R.layout.activity_debug);
21+
}
22+
23+
public void errorTest(View v) {
24+
shelldialog("echo out && echo err 1>&2");
25+
}
26+
27+
public void shelldialog(String j) {
28+
ArrayList<String> o = new ArrayList<>();
29+
ArrayList<String> e = new ArrayList<>();
30+
Shell.Result r = Shell.su(j).to(o, e).exec();
31+
new AlertDialog.Builder(this)
32+
.setTitle(j)
33+
.setMessage("OUT channel:\n" + String.join("\n", o) + "\nOUT channel using get:\n" + String.join("\n", r.getOut()) + "\nERR channel:\n" + String.join("\n", e) + "\nERR channel using get:\n" + String.join("\n", r.getErr()))
34+
.show();
35+
}
36+
}

app/src/main/java/org/androidbootmanager/app/ui/generalcfg/GeneralCfgFragment.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import android.view.LayoutInflater;
66
import android.view.View;
77
import android.view.ViewGroup;
8+
import android.widget.Button;
89
import android.widget.EditText;
910
import android.widget.Toast;
1011

@@ -17,6 +18,7 @@
1718
import org.androidbootmanager.app.R;
1819
import org.androidbootmanager.app.devices.DeviceList;
1920
import org.androidbootmanager.app.ui.activities.MainActivity;
21+
import org.androidbootmanager.app.ui.debug.DebugActivity;
2022
import org.androidbootmanager.app.ui.home.InstalledViewModel;
2123
import org.androidbootmanager.app.ui.updatelk.BlUpdateWizardPageFragment;
2224
import org.androidbootmanager.app.ui.wizard.WizardActivity;
@@ -41,6 +43,9 @@ public View onCreateView(@NonNull LayoutInflater inflater,
4143
a.finish();
4244
});
4345
root.findViewById(R.id.generalcfg_update_bl).setOnClickListener((view) -> startActivity(new Intent(requireActivity(), WizardActivity.class).putExtra("codename",model.getCodename().getValue()).putExtra("StartFragment", BlUpdateWizardPageFragment.class)));
46+
Button debug = root.findViewById(R.id.debug);
47+
if (debug != null)
48+
debug.setOnClickListener((view) -> startActivity(new Intent(requireActivity(), DebugActivity.class)));
4449

4550
final String fileName = SuFile.open("/data/abm/bootset/lk2nd/lk2nd.conf").exists() ? "/data/abm/bootset/lk2nd/lk2nd.conf" : "/data/abm/bootset/lk2nd/db.conf";
4651
try {

app/src/main/java/org/androidbootmanager/app/ui/roms/ROMFragment.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,10 @@ public void onBindViewHolder(@NonNull ROMRecyclerViewAdapter.ViewHolder holder,
8181
holder.label.setText(getString(R.string.ut));
8282
holder.pic.setImageDrawable(ContextCompat.getDrawable(requireContext(), R.drawable.ut_logo));
8383
break;
84+
case "SFOS":
85+
holder.label.setText(getString(R.string.rom_type_add_sailfish));
86+
holder.pic.setImageDrawable(ContextCompat.getDrawable(requireContext(), R.drawable.ic_sailfish_os_logo));
87+
break;
8488
case "droid":
8589
holder.label.setText(getString(R.string.android));
8690
holder.pic.setImageDrawable(ContextCompat.getDrawable(requireContext(),R.drawable.ic_roms));

0 commit comments

Comments
 (0)