Skip to content

Commit a848ebd

Browse files
committed
Merge branch 'release/0.3.5-alpha' into release/0.4.0-beta
2 parents d37c1c0 + 9708070 commit a848ebd

6 files changed

Lines changed: 68 additions & 3 deletions

File tree

README.md

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ Linux is currently the best supported platform (tested with Ubuntu 20.04/22.04 L
5555

5656
## Officially supported devices
5757

58-
Currently, the **we support 51 devices** by various vendors and working on adding more soon!
58+
Currently, the **we support 52 devices** by various vendors and working on adding more soon!
5959

6060

6161
Support for these devices is provided as best effort, but things might still go wrong.
@@ -67,6 +67,7 @@ Vendor | Device Name | CodeName | Models | Status
6767
---|---|---|---|---
6868
Samsung | Galaxy J7 2015 | j7elte | | tested
6969
Samsung | Galaxy A3 2017 | a3y17lte | SM-A320FL | tested
70+
Samsung | Galaxy S III Neo | s3ve3g | GT-I9301I | tested
7071
Samsung | Galaxy A5 2016 | [a5xelte](https://wiki.lineageos.org/devices/a5xelte/) | SM-A510F | tested
7172
Samsung | Galaxy A7 2016 | a7xelte | | tested
7273
Samsung | Galaxy S6 | [zerofltexx](https://wiki.lineageos.org/devices/zerofltexx/) | | tested
@@ -179,6 +180,20 @@ If you want to use the tool for a non-supported smartphone, the fastest way is t
179180

180181
#### Content of a config file
181182

183+
A config file consists of two parts. The first part are some metadata about the device and the second parts are the steps to unlock the bootloader, flash a recovery and install the ROMs.
184+
185+
##### How to write Metadata
186+
Every config file should have metadata with the following fields:
187+
- `maintainer`: str; Maintainer and author of the config file.
188+
- `devicename`: str; Name of the device.
189+
- `devicecode`: str; The official device code.
190+
- `twrp-link`: [OPTIONAL] str; name of the corresponding twrp page.
191+
192+
In addition to these metadata, every config can have optional requirements. If these are set, the user is asked to check if they are meet.
193+
- `android`: [OPTIONAL] int|str; Android version to install prior to installing a custom ROM.
194+
- `firmware`: [OPTIONAL] str; specific firmware version to install before installing a custom ROM.
195+
196+
##### How to write steps:
182197
Every step in the config file corresponds to one view in the application. These steps should contain the following fields:
183198
- `type`: str; Corresponds to the type of view to generate. There are the following options:
184199
- `text`: Just display the text given in content.
@@ -221,7 +236,7 @@ Other phone vendors stops allowing to unlock the bootloader all together. There
221236

222237

223238
## License
224-
Original development by [Tobias Sterbak](https://tobiassterbak.com). Copyright (C) 2022.
239+
Original development by [Tobias Sterbak](https://tobiassterbak.com). Copyright (C) 2022-2023.
225240

226241
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
227242

openandroidinstaller/assets/configs/cheeseburger.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ metadata:
22
maintainer: SirRGB
33
devicename: OnePlus 5
44
devicecode: cheeseburger
5+
twrp-link: cheeseburger_dumpling
56
steps:
67
unlock_bootloader:
78
- type: call_button

openandroidinstaller/assets/configs/dumpling.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ metadata:
22
maintainer: SirRGB
33
devicename: OnePlus 5T
44
devicecode: dumpling
5+
twrp-link: cheeseburger_dumpling
56
steps:
67
unlock_bootloader:
78
- type: call_button
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
metadata:
2+
maintainer: Tobias Sterbak (tsterbak)
3+
devicename: Samsung Galaxy S III Neo
4+
devicecode: s3ve3g
5+
steps:
6+
unlock_bootloader:
7+
flash_recovery:
8+
- type: confirm_button
9+
content: >
10+
There are two possible hardware configurations of this phone regardless of model number. Some phones were released with a Sony IMX 175 rear camera sensor, while others with a Samsung s5k4h5yb rear camera sensor. As such, we’ve separated this devices builds into two separate builds. The procedure to distinguish which to use is as follows:
11+
12+
- Make sure to be on the latest stock firmware of your variant (you can check updates with Settings, Updates);
13+
14+
- Make sure the rear camera is working on the stock ROM;
15+
16+
- Open the phone app and dial *#*#34971539#*#* to access to the hidden menu;
17+
- Tap on ‘Phone/Cam FW Check’ and take note of the numbers shown in the notification:
18+
- For E08QT, install the s3ve3gjv builds
19+
- For B08QT, install the s3ve3gxx builds
20+
I you are not sure what you used, you can safely restart here and pick the correct image and recovery.
21+
- type: call_button
22+
content: >
23+
As a first step, you need to boot into the bootloader. A bootloader is the piece of software,
24+
that tells your phone who to start and run an operating system (like Android). Your device should be turned on.
25+
Then press 'Confirm and run' to reboot into the bootloader. Continue once it's done.
26+
command: adb_reboot_download
27+
- type: call_button
28+
content: >
29+
In this step, you need to flash a custom recovery on your device.
30+
Press 'Confirm and run' to start the process. Confirm afterwards to continue.
31+
command: heimdall_flash_recovery
32+
- type: confirm_button
33+
img: samsung-buttons.png
34+
content: >
35+
Unplug the USB cable from your device. Then manually reboot into recovery by pressing the *Volume Down* + *Power buttons* for
36+
8~10 seconds until the screen turns black & release the buttons immediately when it does, then boot to recovery with the device powered off,
37+
hold *Volume Up* + *Home* + *Power*. Confirm when the recovery screen appears.
38+
install_os:
39+
- type: call_button
40+
content: >
41+
In the next steps, you finally flash the selected OS image.
42+
Connect your device with your computer with the USB-Cable.
43+
This step will format your phone and wipe all the data. It will also remove encryption and delete all files stored
44+
in the internal storage. Then the OS image will be installed. Confirm to run. This might take a while. At the end your phone will boot into the new OS.
45+
command: adb_twrp_wipe_and_install

openandroidinstaller/installer_config.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ def __init__(
7979
self.metadata = metadata
8080
self.requirements = requirements
8181
self.device_code = metadata.get("devicecode")
82+
self.twrp_link = metadata.get("twrp-link")
8283
inverted_mapping = dict(map(reversed, self.device_code_mapping.items()))
8384
self.alternative_device_code = inverted_mapping.get(
8485
self.device_code, self.device_code
@@ -167,6 +168,7 @@ def validate_config(config: str) -> bool:
167168
"maintainer": str,
168169
"devicename": str,
169170
"devicecode": str,
171+
schema.Optional("twrp-link"): str,
170172
},
171173
schema.Optional("requirements"): {
172174
schema.Optional("android"): schema.Or(str, int),

openandroidinstaller/views/select_view.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,7 @@ def build(self):
145145
self.info_field = Row()
146146
# if there is an available download, show the button to the page
147147
if self.download_link:
148+
twrp_download_link = f"https://dl.twrp.me/{self.state.config.twrp_link if self.state.config.twrp_link else self.state.config.device_code}"
148149
self.right_view.controls.append(Divider())
149150
self.right_view.controls.append(
150151
Column(
@@ -166,7 +167,7 @@ def build(self):
166167
"Download TWRP recovery",
167168
icon=icons.DOWNLOAD_OUTLINED,
168169
on_click=lambda _: webbrowser.open(
169-
f"https://dl.twrp.me/{self.state.config.device_code}"
170+
twrp_download_link
170171
),
171172
expand=True,
172173
),

0 commit comments

Comments
 (0)