diff --git a/App.js b/App.js
index 7ab8c17..1ba272b 100644
--- a/App.js
+++ b/App.js
@@ -3,6 +3,7 @@ import { ActivityIndicator, Button, Linking, Text, View } from "react-native";
import { Styles } from "./Styles";
import AsyncStorage from "@react-native-async-storage/async-storage";
import CheckBox from "@react-native-community/checkbox";
+import DropDownPicker from "react-native-dropdown-picker";
import RNExitApp from "react-native-exit-app";
export default function App() {
@@ -10,12 +11,25 @@ export default function App() {
const [latestLabel, setLatestLabel] = useState("");
const [latestVersion, setLatestVersion] = useState("");
const [loading, isLoading] = useState(false);
- const [status, setStatus] = useState("");
- const [buttonText, setButtonText] = useState("CHECK FOR UPDATES");
+ const [statusLabel, setStatusLabel] = useState("");
+ const [buttonLabel, setButtonLabel] = useState("CHECK FOR UPDATES");
const [updateFound, wasUpdateFound] = useState(false);
+ const [updateChecked, wasUpdateChecked] = useState(false);
const [downloadUrl, setDownloadUrl] = useState("");
const [forceDownload, doForceDownload] = useState(false);
+ const [forceCheckboxDisabled, isForceCheckboxDisabled] = useState(false);
+ const [open, setOpen] = useState(false);
+ const [apkValue, setApkValue] = useState("universal");
+ const [apkItems, setApkItems] = useState([
+ { label: "Universal", value: "universal" },
+ { label: "arm64-v8a", value: "arm64-v8a" },
+ { label: "armeabi-v7a", value: "armeabi-v7a" },
+ { label: "x86_64", value: "x86_64" },
+ { label: "x86", value: "x86" },
+ ]);
+
+ const DOWNLOAD_UPDATE = "DOWNLOAD UPDATE";
const API_URL =
"https://api.github.com/repos/InfinityLoop1308/PipePipe/releases/latest";
@@ -26,6 +40,11 @@ export default function App() {
if (ver !== null) {
setlocalVersion(ver);
}
+
+ apk = await AsyncStorage.getItem("apk-value");
+ if (apk !== null) {
+ setApkValue(apk);
+ }
})();
}, []);
@@ -52,7 +71,7 @@ export default function App() {
});
if (!response.ok) {
- setStatus("Unable to fetch!");
+ setStatusLabel("Unable to fetch!");
isLoading(false);
} else {
data = await response.json();
@@ -61,7 +80,7 @@ export default function App() {
for (var i = 0; i < dls.length; i++) {
url = dls[i].browser_download_url;
- if (url.endsWith("-universal-release.apk")) {
+ if (url.endsWith(`-${apkValue}-release.apk`)) {
setDownloadUrl(url);
break;
}
@@ -72,16 +91,18 @@ export default function App() {
isLoading(false);
if (localVersion.localeCompare(latest) == 0) {
- setStatus("Your version is up to date.");
+ setStatusLabel("Your version is up to date.");
if (forceDownload) {
- setButtonText("DOWNLOAD UPDATE");
+ setButtonLabel(DOWNLOAD_UPDATE);
wasUpdateFound(true);
}
} else {
- setStatus("New version found!");
- setButtonText("DOWNLOAD UPDATE");
+ setStatusLabel("New version found!");
+ setButtonLabel(DOWNLOAD_UPDATE);
wasUpdateFound(true);
}
+
+ wasUpdateChecked(true);
}
};
@@ -95,24 +116,48 @@ export default function App() {
{latestLabel}
{latestVersion}
+
+ APK to download:
+ {
+ (async () => {
+ await AsyncStorage.setItem("apk-value", value);
+ })();
+ }}
+ />
+
- {status}
-
-
+ {statusLabel}
+
+
+ {
+ doForceDownload(true);
+ isForceCheckboxDisabled(true);
+
+ if (updateChecked) {
+ setButtonLabel(DOWNLOAD_UPDATE);
+ wasUpdateFound(true);
+ }
+ }}
+ />
+ FORCE DOWNLOAD
+
{loading && }
{loading && }
-
- doForceDownload(newValue)}
- />
- FORCE DOWNLOAD
-
);
}
diff --git a/README.md b/README.md
index d245a0e..0c02e3b 100644
--- a/README.md
+++ b/README.md
@@ -4,10 +4,6 @@ App made to update PipePipe (https://github.com/InfinityLoop1308/PipePipe) more
## Screenshots
-![Screenshot 1](/screenshots/Screenshot_1726407159.png)
+![Screenshot 1](/screenshots/screenshot1.png) ![Screenshot 2](/screenshots/screenshot2.png)
+![Screenshot 3](/screenshots/screenshot3.png) ![Screenshot 4](/screenshots/screenshot4.png)
-![Screenshot 2](/screenshots/Screenshot_1726407185.png)
-
-![Screenshot 3](/screenshots/Screenshot_1726407220.png)
-
-![Screenshot 4](/screenshots/Screenshot_1726407227.png)
diff --git a/Styles.js b/Styles.js
index 9660456..4c8f1f8 100644
--- a/Styles.js
+++ b/Styles.js
@@ -16,7 +16,7 @@ export const Styles = StyleSheet.create({
footerContainer: {
flex: 1 / 3,
alignItems: "center",
- marginBottom: 50,
+ marginBottom: 110,
marginHorizontal: 5,
textAlign: "center",
},
@@ -26,7 +26,7 @@ export const Styles = StyleSheet.create({
},
text: {
color: "#000",
- fontSize: 36,
+ fontSize: 28,
textTransform: "uppercase",
},
textTitle: {
@@ -39,7 +39,18 @@ export const Styles = StyleSheet.create({
checkbox: {
alignSelf: "center",
},
- checkText: {
+ checkBoxLabel: {
+ marginLeft: -3,
margin: 5,
},
+ dropDown: {
+ marginTop: 60,
+ marginHorizontal: 60,
+ alignItems: "center",
+ },
+ textApk: {
+ color: "#000",
+ fontSize: 22,
+ textTransform: "uppercase",
+ },
});
diff --git a/app.json b/app.json
index 7a8a65c..d9b58b9 100644
--- a/app.json
+++ b/app.json
@@ -1,8 +1,8 @@
{
"expo": {
- "name": "PipepipeUpdater",
- "slug": "PipepipeUpdater",
- "version": "1.0.0",
+ "name": "PipePipeUpdater",
+ "slug": "PipePipeUpdater",
+ "version": "1.1",
"orientation": "portrait",
"icon": "./assets/icon.png",
"userInterfaceStyle": "light",
diff --git a/package-lock.json b/package-lock.json
index 851f2c1..f8e348e 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
- "name": "pipepipeupdater",
- "version": "1.0.0",
+ "name": "PipePipeUpdater",
+ "version": "1.1",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
- "name": "pipepipeupdater",
- "version": "1.0.0",
+ "name": "PipePipeUpdater",
+ "version": "1.1",
"dependencies": {
"@react-native-async-storage/async-storage": "1.23.1",
"@react-native-community/checkbox": "^0.5.17",
@@ -14,6 +14,7 @@
"expo-status-bar": "~1.12.1",
"react": "18.2.0",
"react-native": "0.74.5",
+ "react-native-dropdown-picker": "^5.4.6",
"react-native-exit-app": "^2.0.0"
},
"devDependencies": {
@@ -13286,6 +13287,16 @@
}
}
},
+ "node_modules/react-native-dropdown-picker": {
+ "version": "5.4.6",
+ "resolved": "https://registry.npmjs.org/react-native-dropdown-picker/-/react-native-dropdown-picker-5.4.6.tgz",
+ "integrity": "sha512-T1XBHbE++M6aRU3wFYw3MvcOuabhWZ29RK/Ivdls2r1ZkZ62iEBZknLUPeVLMX3x6iUxj4Zgr3X2DGlEGXeHsA==",
+ "license": "MIT",
+ "peerDependencies": {
+ "react": "*",
+ "react-native": "*"
+ }
+ },
"node_modules/react-native-exit-app": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/react-native-exit-app/-/react-native-exit-app-2.0.0.tgz",
diff --git a/package.json b/package.json
index fdfd542..05aeae3 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
- "name": "pipepipeupdater",
- "version": "1.0.0",
+ "name": "PipePipeUpdater",
+ "version": "1.1",
"main": "expo/AppEntry.js",
"scripts": {
"start": "expo start",
@@ -15,6 +15,7 @@
"expo-status-bar": "~1.12.1",
"react": "18.2.0",
"react-native": "0.74.5",
+ "react-native-dropdown-picker": "^5.4.6",
"react-native-exit-app": "^2.0.0"
},
"devDependencies": {
diff --git a/screenshots/Screenshot_1726407159.png b/screenshots/Screenshot_1726407159.png
deleted file mode 100644
index 46cef2b..0000000
Binary files a/screenshots/Screenshot_1726407159.png and /dev/null differ
diff --git a/screenshots/Screenshot_1726407185.png b/screenshots/Screenshot_1726407185.png
deleted file mode 100644
index fe19464..0000000
Binary files a/screenshots/Screenshot_1726407185.png and /dev/null differ
diff --git a/screenshots/Screenshot_1726407220.png b/screenshots/Screenshot_1726407220.png
deleted file mode 100644
index b7c5ef3..0000000
Binary files a/screenshots/Screenshot_1726407220.png and /dev/null differ
diff --git a/screenshots/Screenshot_1726407227.png b/screenshots/Screenshot_1726407227.png
deleted file mode 100644
index 8ff4368..0000000
Binary files a/screenshots/Screenshot_1726407227.png and /dev/null differ
diff --git a/screenshots/screenshot1.png b/screenshots/screenshot1.png
new file mode 100644
index 0000000..4cffb3b
Binary files /dev/null and b/screenshots/screenshot1.png differ
diff --git a/screenshots/screenshot2.png b/screenshots/screenshot2.png
new file mode 100644
index 0000000..2a13b93
Binary files /dev/null and b/screenshots/screenshot2.png differ
diff --git a/screenshots/screenshot3.png b/screenshots/screenshot3.png
new file mode 100644
index 0000000..cd869f2
Binary files /dev/null and b/screenshots/screenshot3.png differ
diff --git a/screenshots/screenshot4.png b/screenshots/screenshot4.png
new file mode 100644
index 0000000..58c6436
Binary files /dev/null and b/screenshots/screenshot4.png differ