Skip to content

Commit f656346

Browse files
authored
Release 0.4.4-beta (#169)
This Release adds: - Samsung A5 2017 (a5y17lte) thanks to @Gredin67 - Support for device code `beyond2` for Samsung Galaxy S10+. - Support for device code `evert_n` for Motorola Moto G6 plus. - Add config file for Samsung Tab S2 gts210vewifi T813 thanks to @freechelmi - a "request support for device" button if no config for the device code is found Fixes: - Update the unlocking instructions for FP3/4 and add fastboot_unlock_critical command. Changes: - Set a min width/height for the window to solve basic responsiveness issues
2 parents a75022b + 49d6017 commit f656346

20 files changed

+1493
-1094
lines changed

README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ Linux is currently the best supported platform (tested with Ubuntu 20.04/22.04 L
6363

6464
## Officially supported devices
6565

66-
Currently, the **we support 60 devices** by various vendors and working on adding more soon!
66+
Currently, the **we support 62 devices** by various vendors and working on adding more soon!
6767

6868

6969
Support for these devices is provided as best effort, but things might still go wrong.
@@ -76,9 +76,11 @@ Vendor | Device Name | CodeName | Models | Status
7676
Samsung | Galaxy J7 2015 | j7elte | | tested
7777
Samsung | Galaxy A3 2017 | a3y17lte | SM-A320FL | tested
7878
Samsung | Galaxy A5 2016 | [a5xelte](https://wiki.lineageos.org/devices/a5xelte) | SM-A510F | tested
79+
Samsung | Galaxy A5 2017 | [a5y17lte](https://wiki.lineageos.org/devices/a5y17lte) | | tested
7980
Samsung | Galaxy A7 2016 | a7xelte | | tested
8081
Samsung | Galaxy Grand Prime VE | grandprimevelte | SM-G531F | tested
8182
Samsung | Galaxy S III Neo | s3ve3g | GT-I9301I | tested
83+
Samsung | Galaxy Tab S2 | [gts210vewifi](https://wiki.lineageos.org/devices/gts210vewifi/) | T813 | tested
8284
Samsung | Galaxy S4 Mini LTE| [serranoltexx](https://wiki.lineageos.org/devices/serranoltexx) | | tested
8385
Samsung | Galaxy S6 | [zerofltexx](https://wiki.lineageos.org/devices/zerofltexx) | | tested
8486
Samsung | Galaxy S6 Edge | [zeroltexx](https://wiki.lineageos.org/devices/zeroltexx) | | tested

openandroidinstaller/assets/configs/FP3.yaml

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,17 +18,25 @@ steps:
1818
content: >
1919
Press 'Confirm and run' to reboot into the bootloader.
2020
command: adb_reboot_bootloader
21-
- type: confirm_button
22-
content: >
23-
Select 'Restart bootloader' on your smartphone screen by pressing the volume button and the confirm by pushing the power button.
24-
Then press 'Confirm and continue' here.
2521
- type: call_button
2622
content: >
2723
In this step you actually unlock the bootloader. Just press 'Confirm and run' here. Once it's done, press continue here.
2824
command: fastboot_unlock
2925
- type: confirm_button
3026
content: >
3127
Follow the instructions on the Fairphone screen. This command will wipe all the personal data on your phone.
28+
- type: call_button
29+
content: >
30+
After the phone reboots, boot into the fastboot mode once again by pressing 'Confirm and run' here. Then continue.
31+
command: adb_reboot_bootloader
32+
- type: call_button
33+
content: >
34+
When you are in fastboot mode again, you need to run another unlock step here.
35+
Just press 'Confirm and run' here. Once it's done, press continue here.
36+
command: fastboot_unlock_critical
37+
- type: confirm_button
38+
content: >
39+
Follow the instructions on the Fairphone screen. This command will wipe all the personal data on your phone.
3240
- type: call_button
3341
content: >
3442
To finish the unlocking, the phone needs to reboot. Just press 'Confirm and run' here to reboot. Then continue.

openandroidinstaller/assets/configs/FP4.yaml

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,22 +13,30 @@ steps:
1313
how to start and run an operating system (like Android). Your device should be turned on.
1414
Click on the button to open the instructions on the Fairphone Support official unlocking website to generate an unlock code for your device.
1515
Once you've done that, continue.
16-
link: https://support.fairphone.com/hc/en-us/articles/4405858258961-FP4-Manage-the-bootloader
16+
link: https://www.fairphone.com/en/bootloader-unlocking-code-for-fairphone-3/
1717
- type: call_button
1818
content: >
1919
Press 'Confirm and run' to reboot into the bootloader.
2020
command: adb_reboot_bootloader
21-
- type: confirm_button
22-
content: >
23-
Select 'Restart bootloader' on your smartphone screen by pressing the volume button and the confirm by pushing the power button.
24-
Then press 'Confirm and continue' here.
2521
- type: call_button
2622
content: >
2723
In this step you actually unlock the bootloader. Just press 'Confirm and run' here. Once it's done, press continue here.
2824
command: fastboot_unlock
2925
- type: confirm_button
3026
content: >
3127
Follow the instructions on the Fairphone screen. This command will wipe all the personal data on your phone.
28+
- type: call_button
29+
content: >
30+
After the phone reboots, boot into the fastboot mode once again by pressing 'Confirm and run' here. Then continue.
31+
command: adb_reboot_bootloader
32+
- type: call_button
33+
content: >
34+
When you are in fastboot mode again, you need to run another unlock step here.
35+
Just press 'Confirm and run' here. Once it's done, press continue here.
36+
command: fastboot_unlock_critical
37+
- type: confirm_button
38+
content: >
39+
Follow the instructions on the Fairphone screen. This command will wipe all the personal data on your phone.
3240
- type: call_button
3341
content: >
3442
To finish the unlocking, the phone needs to reboot. Just press 'Confirm and run' here to reboot. Then continue.
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
metadata:
2+
maintainer: Tobias Sterbak (tsterbak)
3+
device_name: Samsung Galaxy A5 (2017)
4+
is_ab_device: false
5+
device_code: a5y17lte
6+
supported_device_codes:
7+
- a5y17lte
8+
steps:
9+
unlock_bootloader:
10+
boot_recovery:
11+
- type: call_button
12+
content: >
13+
As a first step, you need to boot into the bootloader. A bootloader is the piece of software,
14+
that tells your phone how to start and run an operating system (like Android). Your device should be turned on.
15+
Then press 'Confirm and run' to reboot into the bootloader. Continue once it's done.
16+
command: adb_reboot_download
17+
- type: call_button
18+
content: >
19+
In this step, you need to flash a custom recovery on your device.
20+
Press 'Confirm and run' to start the process. Confirm afterwards to continue.
21+
command: heimdall_flash_recovery
22+
- type: confirm_button
23+
img: samsung-buttons.png
24+
content: >
25+
Unplug the USB cable from your device. Then manually reboot into recovery by pressing the *Volume Down* + *Power buttons* for 8~10 seconds
26+
until the screen turns black & release the buttons immediately when it does, then boot to recovery with the device powered off,
27+
hold *Volume Up* + *Home* + *Power button*.

openandroidinstaller/assets/configs/beyond2lte.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ metadata:
55
device_code: beyond2lte
66
supported_device_codes:
77
- beyond2lte
8+
- beyond2
89
requirements:
910
android: 12
1011
steps:
@@ -40,4 +41,4 @@ steps:
4041
content: >
4142
Unplug the USB cable from your device. Then manually reboot into recovery by pressing the *Volume Down* + *Bixby* for 8~10 seconds
4243
until the screen turns black & release the buttons immediately when it does, then boot to recovery with the device powered off,
43-
hold *Volume Up* + *Bixby* + *Power button*.
44+
hold *Volume Up* + *Bixby* + *Power button*.

openandroidinstaller/assets/configs/evert.yaml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@ metadata:
44
is_ab_device: true
55
device_code: evert
66
supported_device_codes:
7-
- evert
7+
- evert
8+
- evert_n
89
steps:
910
unlock_bootloader:
1011
- type: call_button
@@ -59,4 +60,4 @@ steps:
5960
img: twrp-start.jpeg
6061
content: >
6162
Now we need to boot into recovery again. Press run and when you see the TWRP screen you can continue.
62-
command: fastboot_boot_recovery
63+
command: fastboot_boot_recovery
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
metadata:
2+
maintainer: Michel Memeteau (freechelmi)
3+
device_name: Samsung Galaxy Tab S2 (T813 2016)
4+
is_ab_device: false
5+
device_code: gts210vewifi
6+
supported_device_codes:
7+
- gts210vewifi
8+
steps:
9+
unlock_bootloader:
10+
boot_recovery:
11+
- type: call_button
12+
content: >
13+
As a first step, you need to boot into the bootloader. A bootloader is the piece of software,
14+
that tells your phone how to start and run an operating system (like Android). Your device should be turned on.
15+
Then press 'Confirm and run' to reboot into the bootloader. Continue once it's done.
16+
command: adb_reboot_download
17+
- type: call_button
18+
content: >
19+
In this step, you need to flash a custom recovery on your device.
20+
Press 'Confirm and run' to start the process. Confirm afterwards to continue.
21+
command: heimdall_flash_recovery
22+
- type: confirm_button
23+
img: samsung-buttons.png
24+
content: >
25+
Unplug the USB cable from your device. Then manually reboot into recovery by pressing the *Volume Down* + *Power buttons* for 8~10 seconds
26+
until the screen turns black & release the buttons immediately when it does, then boot to recovery with the device powered off,
27+
hold *Volume Up* + *Home* + *Power button*.

openandroidinstaller/installer_config.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -76,10 +76,10 @@ def from_file(cls, path):
7676
metadata = config["metadata"]
7777
requirements = config.get("requirements", None)
7878
else:
79-
logger.info("Validation of config failed.")
79+
logger.error(f"Validation of config at {path} failed.")
8080
return None
8181
except yaml.YAMLError as exc:
82-
logger.info(exc)
82+
logger.error(f"Loading the config from {path} failed with {exc}")
8383
return None
8484

8585
if raw_steps.get("unlock_bootloader") is not None:
@@ -137,7 +137,7 @@ def _load_config(device_code: str, config_path: Path) -> Optional[InstallerConfi
137137
logger.info(f"Config metadata: {config.metadata}.")
138138
return config
139139
else:
140-
logger.info(f"No device config found for {path}.")
140+
logger.info(f"No device config found for device code '{device_code}'.")
141141
return None
142142

143143

openandroidinstaller/openandroidinstaller.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@
5656
from tooling import run_command
5757

5858
# VERSION number
59-
VERSION = "0.4.3-beta"
59+
VERSION = "0.4.4-beta"
6060

6161
# detect platform
6262
PLATFORM = sys.platform
@@ -193,6 +193,8 @@ def configure(page: Page):
193193
page.window_left = 120
194194
page.scroll = "adaptive"
195195
page.horizontal_alignment = "center"
196+
page.window_min_width = 1000
197+
page.window_min_height = 600
196198

197199

198200
def log_version_infos(bin_path):
@@ -228,13 +230,13 @@ def main(page: Page, test: bool = False, test_config: str = "sargo"):
228230

229231
# header
230232
page.appbar = AppBar(
231-
leading=Image(
232-
src="/assets/logo-192x192.png", height=40, width=40, border_radius=40
233-
),
233+
leading=Image(src="/logo-192x192.png", height=40, width=40, border_radius=40),
234234
leading_width=56,
235235
toolbar_height=72,
236236
elevation=0,
237-
title=Text(f"OpenAndroidInstaller version {VERSION}", style="displaySmall"),
237+
title=Text(
238+
f"OpenAndroidInstaller version {VERSION}"
239+
), # , style="displaySmall"),
238240
center_title=False,
239241
bgcolor="#00d886",
240242
actions=[

openandroidinstaller/tooling.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -369,6 +369,13 @@ def fastboot_unlock(bin_path: Path) -> TerminalResponse:
369369
yield line
370370

371371

372+
@add_logging("Critically unlocking the device with fastboot without code.")
373+
def fastboot_unlock_critical(bin_path: Path) -> TerminalResponse:
374+
"""Unlock critical the device with fastboot and without code."""
375+
for line in run_command("fastboot flashing unlock_critical", bin_path):
376+
yield line
377+
378+
372379
@add_logging("OEM unlocking the device with fastboot.")
373380
def fastboot_oem_unlock(bin_path: Path) -> TerminalResponse:
374381
"""OEM unlock the device with fastboot and without code."""
@@ -485,7 +492,7 @@ def search_device(platform: str, bin_path: Path) -> Optional[str]:
485492
else:
486493
raise Exception(f"Unknown platform {platform}.")
487494
device_code = output.split("[")[-1].strip()[:-1].strip()
488-
logger.info(device_code)
495+
logger.info(f"Found device code '{device_code}'")
489496
return device_code
490497
except CalledProcessError:
491498
logger.error("Failed to detect a device.")

0 commit comments

Comments
 (0)