add stub download implementation
This commit is contained in:
parent
ebfef1f23b
commit
d78ceb1e9b
@ -28,6 +28,36 @@ async function unlockBootloader() {
|
|||||||
await fastboot.receive();
|
await fastboot.receive();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function downloadRelease() {
|
||||||
|
const webusb = await Adb.open("WebUSB");
|
||||||
|
|
||||||
|
if (!webusb.isFastboot()) {
|
||||||
|
console.log("error: not in fastboot mode");
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log("connecting with fastboot");
|
||||||
|
|
||||||
|
const fastboot = await webusb.connectFastboot();
|
||||||
|
await fastboot.send("getvar:product");
|
||||||
|
const response = await fastboot.receive();
|
||||||
|
if (fastboot.get_cmd(response) == "FAIL") {
|
||||||
|
throw new Error("getvar product failed");
|
||||||
|
}
|
||||||
|
const decoder = new TextDecoder();
|
||||||
|
const product = decoder.decode(fastboot.get_payload(response));
|
||||||
|
|
||||||
|
const baseUrl = "https://releases.grapheneos.org/";
|
||||||
|
const metadata = await (await fetch(baseUrl + product + "-stable")).text();
|
||||||
|
const buildNumber = metadata.split(" ")[0];
|
||||||
|
const downloadUrl = baseUrl + product + "-factory-" + buildNumber + ".zip";
|
||||||
|
console.log(downloadUrl);
|
||||||
|
|
||||||
|
// Download factory images
|
||||||
|
//
|
||||||
|
// Need to do this in a way that works well with huge files, particularly since the zip needs
|
||||||
|
// to be extracted. Could potentially split it up on the server if this works out badly.
|
||||||
|
}
|
||||||
|
|
||||||
async function lockBootloader() {
|
async function lockBootloader() {
|
||||||
const webusb = await Adb.open("WebUSB");
|
const webusb = await Adb.open("WebUSB");
|
||||||
|
|
||||||
@ -53,6 +83,10 @@ if ("usb" in navigator) {
|
|||||||
unlockBootloaderButton.disabled = false;
|
unlockBootloaderButton.disabled = false;
|
||||||
unlockBootloaderButton.onclick = unlockBootloader;
|
unlockBootloaderButton.onclick = unlockBootloader;
|
||||||
|
|
||||||
|
const downloadReleaseButton = document.getElementById("download-release");
|
||||||
|
downloadReleaseButton.disabled = false;
|
||||||
|
downloadReleaseButton.onclick = downloadRelease;
|
||||||
|
|
||||||
const lockBootloaderButton = document.getElementById("lock-bootloader");
|
const lockBootloaderButton = document.getElementById("lock-bootloader");
|
||||||
lockBootloaderButton.disabled = false;
|
lockBootloaderButton.disabled = false;
|
||||||
lockBootloaderButton.onclick = lockBootloader;
|
lockBootloaderButton.onclick = lockBootloader;
|
||||||
|
@ -139,6 +139,19 @@
|
|||||||
confirm.</p>
|
confirm.</p>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
<section id="obtaining-factory-images">
|
||||||
|
<h2><a href="#obtaining-factory-images">Obtaining factory images</a></h2>
|
||||||
|
|
||||||
|
<p>You need to obtain the GrapheneOS factory images for your device to proceed with
|
||||||
|
the installation process.</p>
|
||||||
|
|
||||||
|
<p>Press the button below to start the download:</p>
|
||||||
|
|
||||||
|
<button id="download-release" disabled="disabled">Download release</button>
|
||||||
|
|
||||||
|
<p><strong>Download not implemented yet.</strong></p>
|
||||||
|
</section>
|
||||||
|
|
||||||
<section>
|
<section>
|
||||||
<h2>Incomplete</h2>
|
<h2>Incomplete</h2>
|
||||||
</section>
|
</section>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user