commit
3c88e8277d
|
@ -0,0 +1,28 @@
|
||||||
|
name: Build & Publish Debug APK
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- dev
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v1
|
||||||
|
- name: set up JDK 1.8
|
||||||
|
uses: actions/setup-java@v1
|
||||||
|
with:
|
||||||
|
java-version: 1.8
|
||||||
|
- name: Make Gradle executable
|
||||||
|
run: chmod +x ./gradlew
|
||||||
|
- name: Build with Gradle
|
||||||
|
run: ./gradlew build
|
||||||
|
- name: Build Debug APK
|
||||||
|
run: ./gradlew assembleDebug
|
||||||
|
- name: Releasing using Hub
|
||||||
|
uses: ShaunLWM/action-release-debugapk@master
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.TOKEN }}
|
||||||
|
APP_FOLDER: app
|
||||||
|
RELEASE_TITLE: New Build
|
|
@ -2,3 +2,4 @@
|
||||||
.idea/
|
.idea/
|
||||||
build/
|
build/
|
||||||
out/
|
out/
|
||||||
|
local.properties
|
||||||
|
|
|
@ -7,9 +7,9 @@ No one really thought there would be problems with this format, because installa
|
||||||
## Problems with .apks format
|
## Problems with .apks format
|
||||||
Main problems with new format were either with device CPU architecture or MemeUI shit with MiUI optimisations. We wrote instructions for VancedHelper but no one used it for troubleshooting. Then some users complained about new format and refused to upgrade to newest version (We don't give a fuck about that) because "I dOn'T WaNT To HaVe OnE MoRE apP To insTalL VanCeD" so we decided to make an installer for Vanced
|
Main problems with new format were either with device CPU architecture or MemeUI shit with MiUI optimisations. We wrote instructions for VancedHelper but no one used it for troubleshooting. Then some users complained about new format and refused to upgrade to newest version (We don't give a fuck about that) because "I dOn'T WaNT To HaVe OnE MoRE apP To insTalL VanCeD" so we decided to make an installer for Vanced
|
||||||
# Vanced Manager
|
# Vanced Manager
|
||||||
Ladies and gentlemen, I'm very proud to introduce the new **Vanced Manager ci Alpha Ui Preview Test Build 0.3.1™** which only has a UI at the time lol
|
Ladies and gentlemen, I'm very proud to introduce the new **Vanced Manager ci Alpha Ui Preview Test Build 0.4.0™** which only has a UI at the time lol
|
||||||
Vanced Manager is an universal utility for installing/updating Vanced and MicroG. It will push notifications once the update is ready and for root users, it can also automatically download and install them (Now that's what I call pwetty epic).
|
Vanced Manager is an universal utility for installing/updating Vanced and MicroG. It will push notifications once the update is ready and for root users, it can also automatically download and install them (Now that's what I call pwetty epic).
|
||||||
Vanced manager comes with a slick UI ~~that was stolen from the new Magisk Manager (I'm very sorry John but I looked your code for about 100 times).~~ Actually, while UI may look very similar to new Magisk Manager's UI, It's still very different (that's a blatant lie, I know).
|
Vanced manager comes with a slick UI ~~that was stolen from the new Magisk Manager (I'm very sorry John but I looked at your code for about 100 times).~~ Actually, while UI may look very similar to new Magisk Manager's UI, It's still very different (that's a blatant lie, I know).
|
||||||
|
|
||||||
Main Menu screenshot taken from tablet
|
Main Menu screenshot taken from tablet
|
||||||
![screenshot](https://i.imgur.com/okeGnlE.png)
|
![screenshot](https://i.imgur.com/okeGnlE.png)
|
||||||
|
|
28
api/api.iml
28
api/api.iml
|
@ -4,8 +4,8 @@
|
||||||
<facet type="android-gradle" name="Android-Gradle">
|
<facet type="android-gradle" name="Android-Gradle">
|
||||||
<configuration>
|
<configuration>
|
||||||
<option name="GRADLE_PROJECT_PATH" value=":api" />
|
<option name="GRADLE_PROJECT_PATH" value=":api" />
|
||||||
<option name="LAST_SUCCESSFUL_SYNC_AGP_VERSION" value="3.6.1" />
|
<option name="LAST_SUCCESSFUL_SYNC_AGP_VERSION" value="3.6.3" />
|
||||||
<option name="LAST_KNOWN_AGP_VERSION" value="3.6.1" />
|
<option name="LAST_KNOWN_AGP_VERSION" value="3.6.3" />
|
||||||
</configuration>
|
</configuration>
|
||||||
</facet>
|
</facet>
|
||||||
<facet type="android" name="Android">
|
<facet type="android" name="Android">
|
||||||
|
@ -32,7 +32,7 @@
|
||||||
</compilerSettings>
|
</compilerSettings>
|
||||||
<compilerArguments>
|
<compilerArguments>
|
||||||
<option name="destination" value="$MODULE_DIR$/build/tmp/kotlin-classes/debug" />
|
<option name="destination" value="$MODULE_DIR$/build/tmp/kotlin-classes/debug" />
|
||||||
<option name="classpath" value="$USER_HOME$/.gradle/caches/transforms-2/files-2.1/906801bd8eedd543c2fcbd8760c214dc/jetified-kotlin-android-extensions-runtime-1.3.61.jar:/home/hope/.gradle/caches/transforms-2/files-2.1/a6ee74fb178b3ea5a892efce09fbf14f/jetified-kotlin-stdlib-jdk7-1.3.61.jar:/home/hope/.gradle/caches/transforms-2/files-2.1/2277d7565c8c733363501349d51125ad/jetified-core-ktx-1.0.2-api.jar:/home/hope/.gradle/caches/transforms-2/files-2.1/8c33874182974c323a04f40a626452c3/jetified-kotlin-stdlib-1.3.61.jar:/home/hope/.gradle/caches/transforms-2/files-2.1/710a6a007d3afc426d16b6e039176053/jetified-kotlin-stdlib-common-1.3.61.jar:/home/hope/.gradle/caches/transforms-2/files-2.1/37b2db17f3474094fa0bbcb93412368e/jetified-annotations-13.0.jar:/home/hope/.gradle/caches/transforms-2/files-2.1/273ec28f85a60e20fe49194ab8f012a2/appcompat-1.0.2-api.jar:/home/hope/.gradle/caches/transforms-2/files-2.1/2b2493273aea6ed72fe683c570a2fe54/fragment-1.0.0-api.jar:/home/hope/.gradle/caches/transforms-2/files-2.1/526064812d062c2b559a19f3c7b685ef/vectordrawable-animated-1.0.0-api.jar:/home/hope/.gradle/caches/transforms-2/files-2.1/286f408a9b38af97745db9468c6c6de8/legacy-support-core-ui-1.0.0-api.jar:/home/hope/.gradle/caches/transforms-2/files-2.1/5c56372a7ace7aa8c6e1b8a25b442f97/legacy-support-core-utils-1.0.0-api.jar:/home/hope/.gradle/caches/transforms-2/files-2.1/1496cc64787b94d3101b43d27f5f0c1d/vectordrawable-1.0.1-api.jar:/home/hope/.gradle/caches/transforms-2/files-2.1/3f597a675e0dced4e69dc6514a92c184/loader-1.0.0-api.jar:/home/hope/.gradle/caches/transforms-2/files-2.1/6e36c5267b3ca51fdf75177b25e90817/viewpager-1.0.0-api.jar:/home/hope/.gradle/caches/transforms-2/files-2.1/d8e72c7daf37aa447d92e84c05ab9acf/coordinatorlayout-1.0.0-api.jar:/home/hope/.gradle/caches/transforms-2/files-2.1/675fb8ac46037f96bf818653017729a6/drawerlayout-1.0.0-api.jar:/home/hope/.gradle/caches/transforms-2/files-2.1/1d02d5d4c5387ec2e60b8951315edf0d/slidingpanelayout-1.0.0-api.jar:/home/hope/.gradle/caches/transforms-2/files-2.1/082ba1b7e0063ff8eab2fc487b8009d8/customview-1.0.0-api.jar:/home/hope/.gradle/caches/transforms-2/files-2.1/18c5a845d858ab8f399404f997a5e846/swiperefreshlayout-1.0.0-api.jar:/home/hope/.gradle/caches/transforms-2/files-2.1/f929cc63f148d518cbe02fd4809df469/asynclayoutinflater-1.0.0-api.jar:/home/hope/.gradle/caches/transforms-2/files-2.1/da29613ea93b89cf1e0f490073bab19d/core-1.0.2-api.jar:/home/hope/.gradle/caches/transforms-2/files-2.1/3413cb8c19998a22f4302c898f065df3/versionedparcelable-1.0.0-api.jar:/home/hope/.gradle/caches/modules-2/files-2.1/androidx.collection/collection/1.0.0/42858b26cafdaa69b6149f45dfc2894007bc2c7a/collection-1.0.0.jar:/home/hope/.gradle/caches/transforms-2/files-2.1/70941b0fa6d94b1ca397a5bf2ddcb0af/cursoradapter-1.0.0-api.jar:/home/hope/.gradle/caches/transforms-2/files-2.1/eea16df56f938e5deda46614478d189f/lifecycle-runtime-2.0.0-api.jar:/home/hope/.gradle/caches/transforms-2/files-2.1/8c112935acc502e6cdf14553161ae528/documentfile-1.0.0-api.jar:/home/hope/.gradle/caches/transforms-2/files-2.1/e44f98e282420a53c61932f07788486f/localbroadcastmanager-1.0.0-api.jar:/home/hope/.gradle/caches/transforms-2/files-2.1/e41fae70dc9ce0d3c6b93640751d999a/print-1.0.0-api.jar:/home/hope/.gradle/caches/transforms-2/files-2.1/7a7515bd95cd10b8ce3b32b20633eddb/lifecycle-viewmodel-2.0.0-api.jar:/home/hope/.gradle/caches/transforms-2/files-2.1/d5ab8b4fb10d3f1d5cbf518c9cd0e4a6/lifecycle-livedata-2.0.0-api.jar:/home/hope/.gradle/caches/transforms-2/files-2.1/a460f54149c82ffd1e24c453f10f22e8/lifecycle-livedata-core-2.0.0-api.jar:/home/hope/.gradle/caches/modules-2/files-2.1/androidx.lifecycle/lifecycle-common/2.0.0/e070ffae07452331bc5684734fce6831d531785c/lifecycle-common-2.0.0.jar:/home/hope/.gradle/caches/transforms-2/files-2.1/c16c643d1a59ed2eca32fd41fb3dad82/core-runtime-2.0.0-api.jar:/home/hope/.gradle/caches/modules-2/files-2.1/androidx.arch.core/core-common/2.0.0/bb21b9a11761451b51624ac428d1f1bb5deeac38/core-common-2.0.0.jar:/home/hope/.gradle/caches/transforms-2/files-2.1/cd3fca000496694d0c8706c90d9c1dc0/interpolator-1.0.0-api.jar:/home/hope/.gradle/caches/modules-2/files-2.1/androidx.annotation/annotation/1.0.2/2f1d597d48e5309e935ce1212eedf5ae69d3f97/annotation-1.0.2.jar:/home/hope/Android/Sdk/platforms/android-29/android.jar" />
|
<option name="classpath" value="$MODULE_DIR$/build/intermediates/compile_only_not_namespaced_r_class_jar/debug/R.jar:/Users/Xinto/.gradle/caches/transforms-2/files-2.1/2007790f728a1209fc7f4c998ef37192/jetified-kotlin-android-extensions-runtime-1.3.72.jar:/Users/Xinto/.gradle/caches/transforms-2/files-2.1/04a3f47a61e66bdc148e7c91fa0eb96d/jetified-kotlin-stdlib-jdk7-1.3.72.jar:/Users/Xinto/.gradle/caches/transforms-2/files-2.1/95c964fca064d85ea75a548e65e10166/jetified-core-ktx-1.0.2-api.jar:/Users/Xinto/.gradle/caches/transforms-2/files-2.1/88fdafa44c425dc99960dc38fd21e606/jetified-kotlin-stdlib-1.3.72.jar:/Users/Xinto/.gradle/caches/transforms-2/files-2.1/3fc56f9567b3362c5e198a251df74ff8/jetified-kotlin-stdlib-common-1.3.72.jar:/Users/Xinto/.gradle/caches/transforms-2/files-2.1/e6b13d476c07d97a8633c2e07ebe8ba6/jetified-annotations-13.0.jar:/Users/Xinto/.gradle/caches/transforms-2/files-2.1/116c49b6cc9ec52d11afdf70461e1f6e/appcompat-1.0.2-api.jar:/Users/Xinto/.gradle/caches/transforms-2/files-2.1/77b611b33add6a23fa4c7b5bb3953eae/fragment-1.0.0-api.jar:/Users/Xinto/.gradle/caches/transforms-2/files-2.1/b7b989360159f8400799e1bee717d9d6/vectordrawable-animated-1.0.0-api.jar:/Users/Xinto/.gradle/caches/transforms-2/files-2.1/c47fd7d7dc02ea3dddd5829307ed47b4/legacy-support-core-ui-1.0.0-api.jar:/Users/Xinto/.gradle/caches/transforms-2/files-2.1/0597bc315b8daa2a39db6f912dd7fef9/legacy-support-core-utils-1.0.0-api.jar:/Users/Xinto/.gradle/caches/transforms-2/files-2.1/86eb5e85623fc1c570639f917d1b60e1/vectordrawable-1.0.1-api.jar:/Users/Xinto/.gradle/caches/transforms-2/files-2.1/51995cd66ee66f63d9e1fa81d31aba40/loader-1.0.0-api.jar:/Users/Xinto/.gradle/caches/transforms-2/files-2.1/8261cc7dc801583621ae1686e77b20ba/viewpager-1.0.0-api.jar:/Users/Xinto/.gradle/caches/transforms-2/files-2.1/c3fbd0da3a7b0ed87fa307c6e1c9150f/coordinatorlayout-1.0.0-api.jar:/Users/Xinto/.gradle/caches/transforms-2/files-2.1/f60d503848a7312f41ea0c690e81db3c/drawerlayout-1.0.0-api.jar:/Users/Xinto/.gradle/caches/transforms-2/files-2.1/78dab6ef604983c68e9fa7da625a4c99/slidingpanelayout-1.0.0-api.jar:/Users/Xinto/.gradle/caches/transforms-2/files-2.1/df2f814cba6709de2245fe751785df12/customview-1.0.0-api.jar:/Users/Xinto/.gradle/caches/transforms-2/files-2.1/f6b087e5c3383f2243d985d144af9ece/swiperefreshlayout-1.0.0-api.jar:/Users/Xinto/.gradle/caches/transforms-2/files-2.1/ab18de97c4fa444df769be83004a8958/asynclayoutinflater-1.0.0-api.jar:/Users/Xinto/.gradle/caches/transforms-2/files-2.1/b6deceb2d054c33d2827a9a2a32aec4b/core-1.0.2-api.jar:/Users/Xinto/.gradle/caches/transforms-2/files-2.1/d8926a4a3427edee86f29ddf104a05cd/versionedparcelable-1.0.0-api.jar:/Users/Xinto/.gradle/caches/modules-2/files-2.1/androidx.collection/collection/1.0.0/42858b26cafdaa69b6149f45dfc2894007bc2c7a/collection-1.0.0.jar:/Users/Xinto/.gradle/caches/transforms-2/files-2.1/f380750b489f5a279ada37357a1586b3/cursoradapter-1.0.0-api.jar:/Users/Xinto/.gradle/caches/transforms-2/files-2.1/0bae51e8ce65a98e90b67b7ca0d94ca2/lifecycle-runtime-2.0.0-api.jar:/Users/Xinto/.gradle/caches/transforms-2/files-2.1/02682a11fd5ebaa8e055575838fb83a1/documentfile-1.0.0-api.jar:/Users/Xinto/.gradle/caches/transforms-2/files-2.1/954ab66de19329692601713f1041e30a/localbroadcastmanager-1.0.0-api.jar:/Users/Xinto/.gradle/caches/transforms-2/files-2.1/62dbd37bbe25623b96220010fba40082/print-1.0.0-api.jar:/Users/Xinto/.gradle/caches/transforms-2/files-2.1/2b44792743bacf58b1b9b8b08bc5597b/lifecycle-viewmodel-2.0.0-api.jar:/Users/Xinto/.gradle/caches/transforms-2/files-2.1/54d93caba0b752e51ee425b8e71a2171/lifecycle-livedata-2.0.0-api.jar:/Users/Xinto/.gradle/caches/transforms-2/files-2.1/e4c5900a83f53f4e334e8eded8f47bb8/lifecycle-livedata-core-2.0.0-api.jar:/Users/Xinto/.gradle/caches/modules-2/files-2.1/androidx.lifecycle/lifecycle-common/2.0.0/e070ffae07452331bc5684734fce6831d531785c/lifecycle-common-2.0.0.jar:/Users/Xinto/.gradle/caches/transforms-2/files-2.1/ed9a093e6599a9582ff978de64122224/core-runtime-2.0.0-api.jar:/Users/Xinto/.gradle/caches/modules-2/files-2.1/androidx.arch.core/core-common/2.0.0/bb21b9a11761451b51624ac428d1f1bb5deeac38/core-common-2.0.0.jar:/Users/Xinto/.gradle/caches/transforms-2/files-2.1/7a74caff008b00f69ea01931ee62716e/interpolator-1.0.0-api.jar:/Users/Xinto/.gradle/caches/modules-2/files-2.1/androidx.annotation/annotation/1.0.2/2f1d597d48e5309e935ce1212eedf5ae69d3f97/annotation-1.0.2.jar:/Users/Xinto/Library/Android/sdk/platforms/android-29/android.jar" />
|
||||||
<option name="noStdlib" value="true" />
|
<option name="noStdlib" value="true" />
|
||||||
<option name="noReflect" value="true" />
|
<option name="noReflect" value="true" />
|
||||||
<option name="moduleName" value="api_debug" />
|
<option name="moduleName" value="api_debug" />
|
||||||
|
@ -48,13 +48,13 @@
|
||||||
<option name="pluginClasspaths">
|
<option name="pluginClasspaths">
|
||||||
<array>
|
<array>
|
||||||
<option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.intellij.deps/trove4j/1.0.20181211/216c2e14b070f334479d800987affe4054cd563f/trove4j-1.0.20181211.jar" />
|
<option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.intellij.deps/trove4j/1.0.20181211/216c2e14b070f334479d800987affe4054cd563f/trove4j-1.0.20181211.jar" />
|
||||||
<option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-android-extensions/1.3.61/54ca7c214a5cd73cd887a42002266e25440097f2/kotlin-android-extensions-1.3.61.jar" />
|
<option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-android-extensions/1.3.72/ecbb105a12a9766d2188f454b3bc3aab46cb80b6/kotlin-android-extensions-1.3.72.jar" />
|
||||||
<option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-compiler-embeddable/1.3.61/c35c0833d5a1e3d229359758482c480306724618/kotlin-compiler-embeddable-1.3.61.jar" />
|
<option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-compiler-embeddable/1.3.72/fb72232c8fa977d5e07d33c43381ddbdc5edab6/kotlin-compiler-embeddable-1.3.72.jar" />
|
||||||
<option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-daemon-embeddable/1.3.61/4de83e41a92c8395d89ab2e81d26b788ba163824/kotlin-daemon-embeddable-1.3.61.jar" />
|
<option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-daemon-embeddable/1.3.72/53bbaa2816dbf6bdb85f629451b1fcc88f2164d2/kotlin-daemon-embeddable-1.3.72.jar" />
|
||||||
<option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-reflect/1.3.61/2e07c9a84c9e118efb70eede7e579fd663932122/kotlin-reflect-1.3.61.jar" />
|
<option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-reflect/1.3.72/86613e1a669a701b0c660bfd2af4f82a7ae11fca/kotlin-reflect-1.3.72.jar" />
|
||||||
<option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-script-runtime/1.3.61/e5feb39c8de63dcbdc1154b34ca4413874231605/kotlin-script-runtime-1.3.61.jar" />
|
<option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-script-runtime/1.3.72/657d8d34d91e1964b4439378c09933e840bfe8d5/kotlin-script-runtime-1.3.72.jar" />
|
||||||
<option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-common/1.3.61/65abb71d5afb850b68be03987b08e2c864ca3110/kotlin-stdlib-common-1.3.61.jar" />
|
<option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-common/1.3.72/6ca8bee3d88957eaaaef077c41c908c9940492d8/kotlin-stdlib-common-1.3.72.jar" />
|
||||||
<option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/1.3.61/4702105e97f7396ae41b113fdbdc180ec1eb1e36/kotlin-stdlib-1.3.61.jar" />
|
<option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/1.3.72/8032138f12c0180bc4e51fe139d4c52b46db6109/kotlin-stdlib-1.3.72.jar" />
|
||||||
<option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains/annotations/13.0/919f0dfe192fb4e063e7dacadee7f8bb9a2672a9/annotations-13.0.jar" />
|
<option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains/annotations/13.0/919f0dfe192fb4e063e7dacadee7f8bb9a2672a9/annotations-13.0.jar" />
|
||||||
</array>
|
</array>
|
||||||
</option>
|
</option>
|
||||||
|
@ -139,10 +139,10 @@
|
||||||
<orderEntry type="library" scope="TEST" name="Gradle: androidx.test:runner:1.1.1@aar" level="project" />
|
<orderEntry type="library" scope="TEST" name="Gradle: androidx.test:runner:1.1.1@aar" level="project" />
|
||||||
<orderEntry type="library" scope="TEST" name="Gradle: androidx.test:monitor:1.1.1@aar" level="project" />
|
<orderEntry type="library" scope="TEST" name="Gradle: androidx.test:monitor:1.1.1@aar" level="project" />
|
||||||
<orderEntry type="library" scope="TEST" name="Gradle: androidx.test.espresso:espresso-idling-resource:3.1.1@aar" level="project" />
|
<orderEntry type="library" scope="TEST" name="Gradle: androidx.test.espresso:espresso-idling-resource:3.1.1@aar" level="project" />
|
||||||
<orderEntry type="library" name="Gradle: org.jetbrains.kotlin:kotlin-android-extensions-runtime:1.3.61@jar" level="project" />
|
<orderEntry type="library" name="Gradle: org.jetbrains.kotlin:kotlin-android-extensions-runtime:1.3.72@jar" level="project" />
|
||||||
<orderEntry type="library" name="Gradle: org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.61@jar" level="project" />
|
<orderEntry type="library" name="Gradle: org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72@jar" level="project" />
|
||||||
<orderEntry type="library" name="Gradle: org.jetbrains.kotlin:kotlin-stdlib:1.3.61@jar" level="project" />
|
<orderEntry type="library" name="Gradle: org.jetbrains.kotlin:kotlin-stdlib:1.3.72@jar" level="project" />
|
||||||
<orderEntry type="library" name="Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:1.3.61@jar" level="project" />
|
<orderEntry type="library" name="Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:1.3.72@jar" level="project" />
|
||||||
<orderEntry type="library" name="Gradle: org.jetbrains:annotations:13.0@jar" level="project" />
|
<orderEntry type="library" name="Gradle: org.jetbrains:annotations:13.0@jar" level="project" />
|
||||||
<orderEntry type="library" name="Gradle: androidx.collection:collection:1.0.0@jar" level="project" />
|
<orderEntry type="library" name="Gradle: androidx.collection:collection:1.0.0@jar" level="project" />
|
||||||
<orderEntry type="library" name="Gradle: androidx.lifecycle:lifecycle-common:2.0.0@jar" level="project" />
|
<orderEntry type="library" name="Gradle: androidx.lifecycle:lifecycle-common:2.0.0@jar" level="project" />
|
||||||
|
|
56
app/app.iml
56
app/app.iml
File diff suppressed because one or more lines are too long
|
@ -11,8 +11,8 @@ android {
|
||||||
applicationId "com.vanced.manager"
|
applicationId "com.vanced.manager"
|
||||||
minSdkVersion 21
|
minSdkVersion 21
|
||||||
targetSdkVersion 29
|
targetSdkVersion 29
|
||||||
versionCode 1
|
versionCode 2
|
||||||
versionName "1.0"
|
versionName "1.0.1 beta"
|
||||||
|
|
||||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||||
|
|
||||||
|
@ -51,14 +51,14 @@ dependencies {
|
||||||
implementation 'androidx.core:core-ktx:1.2.0'
|
implementation 'androidx.core:core-ktx:1.2.0'
|
||||||
implementation 'com.google.android.material:material:1.1.0'
|
implementation 'com.google.android.material:material:1.1.0'
|
||||||
implementation 'androidx.fragment:fragment-ktx:1.2.4'
|
implementation 'androidx.fragment:fragment-ktx:1.2.4'
|
||||||
implementation 'androidx.preference:preference-ktx:1.1.0'
|
implementation 'androidx.preference:preference-ktx:1.1.1'
|
||||||
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
|
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
|
||||||
implementation 'androidx.browser:browser:1.2.0'
|
implementation 'androidx.browser:browser:1.2.0'
|
||||||
implementation 'androidx.navigation:navigation-fragment:2.2.1'
|
implementation 'androidx.navigation:navigation-fragment:2.2.2'
|
||||||
implementation 'androidx.navigation:navigation-ui:2.2.1'
|
implementation 'androidx.navigation:navigation-ui:2.2.2'
|
||||||
implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
|
implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
|
||||||
implementation 'androidx.navigation:navigation-fragment-ktx:2.2.1'
|
implementation 'androidx.navigation:navigation-fragment-ktx:2.2.2'
|
||||||
implementation 'androidx.navigation:navigation-ui-ktx:2.2.1'
|
implementation 'androidx.navigation:navigation-ui-ktx:2.2.2'
|
||||||
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
|
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
|
||||||
testImplementation 'junit:junit:4.12'
|
testImplementation 'junit:junit:4.12'
|
||||||
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
|
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
|
||||||
|
|
Binary file not shown.
|
@ -0,0 +1 @@
|
||||||
|
[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":1,"versionName":"1.0","enabled":true,"outputFile":"app-release.apk","fullName":"release","baseName":"release","dirName":""},"path":"app-release.apk","properties":{}}]
|
|
@ -23,6 +23,11 @@
|
||||||
|
|
||||||
<category android:name="android.intent.category.LAUNCHER" />
|
<category android:name="android.intent.category.LAUNCHER" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
|
|
||||||
|
<meta-data
|
||||||
|
android:name="android.app.shortcuts"
|
||||||
|
android:resource="@xml/shortcuts" />
|
||||||
|
|
||||||
</activity>
|
</activity>
|
||||||
<activity
|
<activity
|
||||||
android:name=".ui.MainActivity"
|
android:name=".ui.MainActivity"
|
||||||
|
|
|
@ -0,0 +1,56 @@
|
||||||
|
package com.vanced.manager.core
|
||||||
|
|
||||||
|
import android.annotation.SuppressLint
|
||||||
|
import android.os.Build
|
||||||
|
import android.os.Bundle
|
||||||
|
import androidx.appcompat.app.AlertDialog
|
||||||
|
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||||
|
import com.vanced.manager.R
|
||||||
|
import com.vanced.manager.ui.core.ThemeActivity
|
||||||
|
|
||||||
|
// This activity will NOT be used in manifest
|
||||||
|
// since MainActivity will extend it
|
||||||
|
@SuppressLint("Registered")
|
||||||
|
open class Main: ThemeActivity() {
|
||||||
|
|
||||||
|
@SuppressLint("ObsoleteSdkInt")
|
||||||
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
|
super.onCreate(savedInstanceState)
|
||||||
|
|
||||||
|
val prefs = getSharedPreferences("prefs", MODE_PRIVATE)
|
||||||
|
val firstStart = prefs.getBoolean("firstStart", true)
|
||||||
|
if (firstStart) {
|
||||||
|
//A little surprise for those who
|
||||||
|
//love lowering minSdkVersions
|
||||||
|
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
|
||||||
|
showUnsupportedSdkDialog()
|
||||||
|
} else showSecurityDialog()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun showSecurityDialog() {
|
||||||
|
AlertDialog.Builder(this)
|
||||||
|
.setTitle(resources.getString(R.string.welcome))
|
||||||
|
.setMessage(resources.getString(R.string.security_context))
|
||||||
|
.setPositiveButton(resources.getString(R.string.close)) { dialog, _ -> dialog.dismiss() }
|
||||||
|
.create()
|
||||||
|
.show()
|
||||||
|
|
||||||
|
val prefs = getSharedPreferences("prefs", MODE_PRIVATE)
|
||||||
|
val editor = prefs.edit()
|
||||||
|
editor.putBoolean("firstStart", false)
|
||||||
|
editor.apply()
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun showUnsupportedSdkDialog() {
|
||||||
|
AlertDialog.Builder(this)
|
||||||
|
.setTitle(resources.getString(R.string.whoops))
|
||||||
|
.setMessage(resources.getString(R.string.unsupported_version_context))
|
||||||
|
.setPositiveButton(
|
||||||
|
"OK"
|
||||||
|
) { _, _ -> finish() }
|
||||||
|
.create()
|
||||||
|
.show()
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -1,5 +1,6 @@
|
||||||
package com.vanced.manager.ui.core
|
package com.vanced.manager.core.base
|
||||||
|
|
||||||
|
import android.content.pm.PackageManager
|
||||||
import android.net.Uri
|
import android.net.Uri
|
||||||
import androidx.browser.customtabs.CustomTabsIntent
|
import androidx.browser.customtabs.CustomTabsIntent
|
||||||
import androidx.core.content.ContextCompat
|
import androidx.core.content.ContextCompat
|
||||||
|
@ -14,4 +15,13 @@ open class BaseFragment : Fragment() {
|
||||||
customTabsIntent.launchUrl(requireContext(), Uri.parse(Url))
|
customTabsIntent.launchUrl(requireContext(), Uri.parse(Url))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun isPackageInstalled(packageName: String, packageManager: PackageManager): Boolean {
|
||||||
|
return try {
|
||||||
|
packageManager.getPackageInfo(packageName, 0)
|
||||||
|
true
|
||||||
|
} catch (e: PackageManager.NameNotFoundException) {
|
||||||
|
false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -0,0 +1,26 @@
|
||||||
|
package com.vanced.manager.core.fragments
|
||||||
|
|
||||||
|
import android.os.Bundle
|
||||||
|
import android.view.View
|
||||||
|
import android.widget.Button
|
||||||
|
import com.vanced.manager.R
|
||||||
|
import com.vanced.manager.core.base.BaseFragment
|
||||||
|
|
||||||
|
open class About : BaseFragment() {
|
||||||
|
|
||||||
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
|
||||||
|
val githubSource = getView()?.findViewById(R.id.about_github_button) as Button
|
||||||
|
val license = getView()?.findViewById(R.id.about_license_button) as Button
|
||||||
|
|
||||||
|
githubSource.setOnClickListener {
|
||||||
|
openUrl("https://github.com/YTvanced/VancedInstaller", R.color.GitHub)
|
||||||
|
}
|
||||||
|
|
||||||
|
license.setOnClickListener {
|
||||||
|
openUrl("https://raw.githubusercontent.com/YTVanced/VancedInstaller/dev/LICENSE", R.color.GitHub)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,90 @@
|
||||||
|
package com.vanced.manager.core.fragments
|
||||||
|
|
||||||
|
import android.content.ComponentName
|
||||||
|
import android.content.Intent
|
||||||
|
import android.net.Uri
|
||||||
|
import android.os.Bundle
|
||||||
|
import android.view.View
|
||||||
|
import android.widget.Button
|
||||||
|
import androidx.navigation.findNavController
|
||||||
|
import com.vanced.manager.R
|
||||||
|
import com.vanced.manager.core.base.BaseFragment
|
||||||
|
|
||||||
|
open class Home : BaseFragment() {
|
||||||
|
|
||||||
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
|
||||||
|
val pm = activity?.packageManager
|
||||||
|
|
||||||
|
//Damn that's a lot of buttons
|
||||||
|
val microginstallbtn = view.findViewById<Button>(R.id.microg_installbtn)
|
||||||
|
val microguninstallbtn = view.findViewById<Button>(R.id.microg_uninstallbtn)
|
||||||
|
val microgsettingsbtn = view.findViewById<Button>(R.id.microg_settingsbtn)
|
||||||
|
val vancedinstallbtn = view.findViewById<Button>(R.id.vanced_installbtn)
|
||||||
|
|
||||||
|
val bravebtn = view.findViewById<Button>(R.id.brave_button)
|
||||||
|
val websitebtn = view.findViewById<Button>(R.id.website_button)
|
||||||
|
val discordbtn = view.findViewById<Button>(R.id.discordbtn)
|
||||||
|
val telegrambtn = view.findViewById<Button>(R.id.tgbtn)
|
||||||
|
val twitterbtn = view.findViewById<Button>(R.id.twitterbtn)
|
||||||
|
val redditbtn = view.findViewById<Button>(R.id.redditbtn)
|
||||||
|
|
||||||
|
//we need to check whether these apps are installed or not
|
||||||
|
val microgStatus = pm?.let { isPackageInstalled("com.mgoogle.android.gms", it) }
|
||||||
|
val vancedStatus = pm?.let { isPackageInstalled("com.vanced.android.youtube", it) }
|
||||||
|
|
||||||
|
vancedinstallbtn.setOnClickListener {
|
||||||
|
view.findNavController().navigate(R.id.toInstallThemeFragment)
|
||||||
|
}
|
||||||
|
|
||||||
|
microginstallbtn.setOnClickListener {
|
||||||
|
openUrl("https://youtu.be/dQw4w9WgXcQ", R.color.YT)
|
||||||
|
}
|
||||||
|
|
||||||
|
if (microgStatus!!) {
|
||||||
|
microguninstallbtn.setOnClickListener {
|
||||||
|
val uri = Uri.parse("package:com.mgoogle.android.gms")
|
||||||
|
val mgUninstall = Intent(Intent.ACTION_DELETE, uri)
|
||||||
|
startActivity(mgUninstall)
|
||||||
|
}
|
||||||
|
|
||||||
|
microgsettingsbtn.setOnClickListener {
|
||||||
|
val intent = Intent()
|
||||||
|
intent.component = ComponentName(
|
||||||
|
"com.mgoogle.android.gms",
|
||||||
|
"org.microg.gms.ui.SettingsActivity"
|
||||||
|
)
|
||||||
|
startActivity(intent)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
microgsettingsbtn.visibility = View.INVISIBLE
|
||||||
|
microguninstallbtn.visibility = View.INVISIBLE
|
||||||
|
}
|
||||||
|
|
||||||
|
bravebtn.setOnClickListener {
|
||||||
|
openUrl("https://brave.com/van874", R.color.Brave)
|
||||||
|
|
||||||
|
}
|
||||||
|
websitebtn.setOnClickListener {
|
||||||
|
openUrl("https://vanced.app", R.color.Vanced)
|
||||||
|
}
|
||||||
|
discordbtn.setOnClickListener {
|
||||||
|
openUrl("https://discord.gg/TUVd7rd", R.color.Discord)
|
||||||
|
|
||||||
|
}
|
||||||
|
telegrambtn.setOnClickListener {
|
||||||
|
openUrl("https://t.me/joinchat/AAAAAEHf-pi4jH1SDlAL4w", R.color.Telegram)
|
||||||
|
|
||||||
|
}
|
||||||
|
twitterbtn.setOnClickListener {
|
||||||
|
openUrl("https://twitter.com/YTVanced", R.color.Twitter)
|
||||||
|
|
||||||
|
}
|
||||||
|
redditbtn.setOnClickListener {
|
||||||
|
openUrl("https://reddit.com/r/vanced", R.color.Reddit)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,24 @@
|
||||||
|
package com.vanced.manager.core.fragments
|
||||||
|
|
||||||
|
import android.os.Bundle
|
||||||
|
import android.view.View
|
||||||
|
import android.widget.Button
|
||||||
|
import androidx.fragment.app.Fragment
|
||||||
|
import androidx.navigation.findNavController
|
||||||
|
import com.vanced.manager.R
|
||||||
|
import com.vanced.manager.ui.fragments.LanguageScrollviewFragment
|
||||||
|
|
||||||
|
open class LanguageInstall : Fragment() {
|
||||||
|
|
||||||
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
|
||||||
|
val finishButton = getView()?.findViewById(R.id.vanced_install_finish) as Button
|
||||||
|
|
||||||
|
finishButton.setOnClickListener {
|
||||||
|
view.findNavController().navigate(R.id.action_installTo_homeFragment)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,22 @@
|
||||||
|
package com.vanced.manager.core.fragments
|
||||||
|
|
||||||
|
import android.os.Bundle
|
||||||
|
import android.view.View
|
||||||
|
import android.widget.Button
|
||||||
|
import androidx.fragment.app.Fragment
|
||||||
|
import androidx.navigation.findNavController
|
||||||
|
import com.vanced.manager.R
|
||||||
|
|
||||||
|
open class ThemeInstall : Fragment() {
|
||||||
|
|
||||||
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
|
||||||
|
val nextButton = getView()?.findViewById(R.id.vanced_next_to_variant) as Button
|
||||||
|
|
||||||
|
nextButton.setOnClickListener {
|
||||||
|
view.findNavController().navigate(R.id.toInstallVariantFragment)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,21 @@
|
||||||
|
package com.vanced.manager.core.fragments
|
||||||
|
|
||||||
|
import android.os.Bundle
|
||||||
|
import android.view.View
|
||||||
|
import android.widget.Button
|
||||||
|
import androidx.fragment.app.Fragment
|
||||||
|
import androidx.navigation.findNavController
|
||||||
|
import com.vanced.manager.R
|
||||||
|
|
||||||
|
open class VariantInstall : Fragment() {
|
||||||
|
|
||||||
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
|
||||||
|
val nextButton = getView()?.findViewById(R.id.vanced_next_to_language) as Button
|
||||||
|
|
||||||
|
nextButton.setOnClickListener {
|
||||||
|
view.findNavController().navigate(R.id.toInstallLanguageFragment)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -3,17 +3,18 @@ package com.vanced.manager.ui
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.MenuItem
|
import android.view.MenuItem
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import androidx.appcompat.app.AlertDialog
|
import android.view.animation.Animation
|
||||||
import androidx.core.view.forEach
|
import android.view.animation.AnimationUtils
|
||||||
import androidx.navigation.NavDestination
|
import androidx.navigation.NavDestination
|
||||||
import androidx.navigation.findNavController
|
import androidx.navigation.findNavController
|
||||||
|
import androidx.navigation.ui.AppBarConfiguration
|
||||||
import androidx.navigation.ui.setupWithNavController
|
import androidx.navigation.ui.setupWithNavController
|
||||||
import com.google.android.material.appbar.MaterialToolbar
|
import com.google.android.material.appbar.MaterialToolbar
|
||||||
import com.google.android.material.bottomnavigation.BottomNavigationView
|
import com.google.android.material.bottomnavigation.BottomNavigationView
|
||||||
import com.vanced.manager.R
|
import com.vanced.manager.R
|
||||||
import com.vanced.manager.ui.core.ThemeActivity
|
import com.vanced.manager.core.Main
|
||||||
|
|
||||||
class MainActivity : ThemeActivity() {
|
class MainActivity : Main() {
|
||||||
|
|
||||||
private var isParent = true
|
private var isParent = true
|
||||||
|
|
||||||
|
@ -22,16 +23,16 @@ class MainActivity : ThemeActivity() {
|
||||||
setContentView(R.layout.activity_main)
|
setContentView(R.layout.activity_main)
|
||||||
|
|
||||||
val toolbar: MaterialToolbar = findViewById(R.id.home_toolbar)
|
val toolbar: MaterialToolbar = findViewById(R.id.home_toolbar)
|
||||||
|
|
||||||
setSupportActionBar(toolbar)
|
setSupportActionBar(toolbar)
|
||||||
|
|
||||||
val prefs = getSharedPreferences("prefs", MODE_PRIVATE)
|
|
||||||
val firstStart = prefs.getBoolean("firstStart", true)
|
|
||||||
if (firstStart) {
|
|
||||||
showSecurityDialog()
|
|
||||||
}
|
|
||||||
|
|
||||||
val navHost = findNavController(R.id.bottom_nav_host)
|
val navHost = findNavController(R.id.bottom_nav_host)
|
||||||
|
val appBarConfiguration = AppBarConfiguration(navHost.graph)
|
||||||
|
toolbar.setupWithNavController(navHost, appBarConfiguration)
|
||||||
|
|
||||||
|
|
||||||
|
//WARNING: Reserved code!
|
||||||
|
//DO NOT TOUCH!
|
||||||
|
/*
|
||||||
val navBar = findViewById<BottomNavigationView>(R.id.bottom_nav)
|
val navBar = findViewById<BottomNavigationView>(R.id.bottom_nav)
|
||||||
navBar.setupWithNavController(navHost)
|
navBar.setupWithNavController(navHost)
|
||||||
|
|
||||||
|
@ -51,41 +52,68 @@ class MainActivity : ThemeActivity() {
|
||||||
|
|
||||||
navBar.setOnNavigationItemReselectedListener {
|
navBar.setOnNavigationItemReselectedListener {
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
navHost.addOnDestinationChangedListener{_, currfrag: NavDestination, _ ->
|
navHost.addOnDestinationChangedListener{_, currfrag: NavDestination, _ ->
|
||||||
|
//WARNING: Reserved code 2
|
||||||
|
//DO NOT TOUCH
|
||||||
|
/*
|
||||||
|
val navBarHide: Animation = AnimationUtils.loadAnimation(applicationContext, R.anim.navbar_exit)
|
||||||
|
val navBarShow: Animation = AnimationUtils.loadAnimation(applicationContext, R.anim.navbar_enter)
|
||||||
when (currfrag.id) {
|
when (currfrag.id) {
|
||||||
R.id.home_fragment, R.id.settings_fragment -> navBar.visibility = View.VISIBLE
|
|
||||||
else -> navBar.visibility = View.INVISIBLE
|
R.id.home_fragment, R.id.settings_fragment -> {
|
||||||
|
|
||||||
|
if (navBar.visibility != View.VISIBLE) {
|
||||||
|
navBar.visibility = View.VISIBLE
|
||||||
|
navBar.startAnimation(navBarShow)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
else -> {
|
||||||
|
if (navBar.visibility != View.GONE) {
|
||||||
|
navBar.startAnimation(navBarHide)
|
||||||
|
navBar.visibility = View.GONE
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
isParent = when (currfrag.id) {
|
isParent = when (currfrag.id) {
|
||||||
R.id.home_fragment, R.id.settings_fragment -> true
|
R.id.home_fragment -> true
|
||||||
else -> false
|
else -> false
|
||||||
}
|
}
|
||||||
|
|
||||||
setDisplayHomeAsUpEnabled(!isParent)
|
setDisplayHomeAsUpEnabled(!isParent)
|
||||||
|
|
||||||
navBar.menu.forEach {
|
|
||||||
if (it.itemId == currfrag.id) {
|
|
||||||
it.isChecked = true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onOptionsItemSelected(item: MenuItem): Boolean {
|
override fun onOptionsItemSelected(item: MenuItem): Boolean {
|
||||||
|
val navHost = findNavController(R.id.bottom_nav_host)
|
||||||
when (item.itemId) {
|
when (item.itemId) {
|
||||||
android.R.id.home -> {
|
android.R.id.home -> {
|
||||||
findNavController(R.id.bottom_nav_host).navigate(R.id.action_homeFragment)
|
onBackPressed()
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
R.id.toolbar_about -> {
|
||||||
|
navHost.navigate(R.id.toAboutFragment)
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
R.id.toolbar_settings -> {
|
||||||
|
navHost.navigate(R.id.action_settingsFragment)
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
R.id.secret_settings -> {
|
||||||
|
navHost.navigate(R.id.toSecretSettingsFragment)
|
||||||
|
return true
|
||||||
}
|
}
|
||||||
else -> super.onOptionsItemSelected(item)
|
else -> super.onOptionsItemSelected(item)
|
||||||
|
|
||||||
}
|
}
|
||||||
return true
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun setDisplayHomeAsUpEnabled(isNeeded: Boolean) {
|
private fun setDisplayHomeAsUpEnabled(isNeeded: Boolean) {
|
||||||
val toolbar: MaterialToolbar = findViewById(R.id.home_toolbar)
|
val toolbar: MaterialToolbar = findViewById(R.id.home_toolbar)
|
||||||
when {
|
when {
|
||||||
|
@ -93,19 +121,4 @@ class MainActivity : ThemeActivity() {
|
||||||
else -> toolbar.navigationIcon = null
|
else -> toolbar.navigationIcon = null
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun showSecurityDialog() {
|
|
||||||
AlertDialog.Builder(this)
|
|
||||||
.setTitle("Welcome!")
|
|
||||||
.setMessage("Before we implement a proper security system to check whether app was modified or not, please be sure that you downloaded manager from vanced.app/github")
|
|
||||||
.setPositiveButton("close"
|
|
||||||
) { dialog, _ -> dialog.dismiss() }
|
|
||||||
.create().show()
|
|
||||||
|
|
||||||
val prefs = getSharedPreferences("prefs", MODE_PRIVATE)
|
|
||||||
val editor = prefs.edit()
|
|
||||||
editor.putBoolean("firstStart", false)
|
|
||||||
editor.apply()
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,16 +2,24 @@ package com.vanced.manager.ui.core
|
||||||
|
|
||||||
import android.annotation.SuppressLint
|
import android.annotation.SuppressLint
|
||||||
import android.app.ActivityManager
|
import android.app.ActivityManager
|
||||||
|
import android.content.Context
|
||||||
import android.content.SharedPreferences
|
import android.content.SharedPreferences
|
||||||
import android.content.res.Configuration
|
import android.content.res.Configuration
|
||||||
|
import android.os.Build
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
|
import android.util.DisplayMetrics
|
||||||
|
import android.view.KeyEvent
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
import androidx.core.content.res.ResourcesCompat
|
import androidx.core.content.res.ResourcesCompat
|
||||||
import androidx.preference.PreferenceManager
|
import androidx.preference.PreferenceManager
|
||||||
import com.vanced.manager.R
|
import com.vanced.manager.R
|
||||||
|
import java.util.*
|
||||||
|
|
||||||
|
// This activity will NOT be used in manifest
|
||||||
|
// since MainActivity will extend it
|
||||||
@SuppressLint("Registered")
|
@SuppressLint("Registered")
|
||||||
open class ThemeActivity : AppCompatActivity() {
|
open class ThemeActivity : AppCompatActivity() {
|
||||||
|
|
||||||
private lateinit var currentTheme: String
|
private lateinit var currentTheme: String
|
||||||
private lateinit var pref: SharedPreferences
|
private lateinit var pref: SharedPreferences
|
||||||
|
|
||||||
|
@ -20,20 +28,32 @@ open class ThemeActivity : AppCompatActivity() {
|
||||||
currentTheme = pref.getString("theme_mode", "").toString()
|
currentTheme = pref.getString("theme_mode", "").toString()
|
||||||
|
|
||||||
setFinalTheme(currentTheme)
|
setFinalTheme(currentTheme)
|
||||||
super.onCreate(savedInstanceState)
|
|
||||||
|
|
||||||
if (android.os.Build.VERSION.SDK_INT < 28) {
|
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.P) {
|
||||||
setTaskBG()
|
setTaskBG()
|
||||||
}
|
}
|
||||||
|
super.onCreate(savedInstanceState)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onResume() {
|
override fun onResume() {
|
||||||
super.onResume()
|
|
||||||
val theme = pref.getString("theme_mode", "")
|
val theme = pref.getString("theme_mode", "")
|
||||||
|
|
||||||
|
//if for some weird reasons we get invalid
|
||||||
|
//theme, recreate activity
|
||||||
if (currentTheme != theme)
|
if (currentTheme != theme)
|
||||||
recreate()
|
recreate()
|
||||||
setTaskBG()
|
|
||||||
|
//set Task Header color in recents menu for
|
||||||
|
//devices with lower Android version than Pie
|
||||||
|
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.P) {
|
||||||
|
setTaskBG()
|
||||||
|
}
|
||||||
|
super.onResume()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//This stupid ass AppCompatDelegate does
|
||||||
|
//not want to work, so I have to use my
|
||||||
|
//own implementation of theme switching
|
||||||
private fun setFinalTheme(currentTheme: String) {
|
private fun setFinalTheme(currentTheme: String) {
|
||||||
when (currentTheme) {
|
when (currentTheme) {
|
||||||
"LIGHT" -> setTheme(R.style.LightTheme_Blue)
|
"LIGHT" -> setTheme(R.style.LightTheme_Blue)
|
||||||
|
@ -47,10 +67,14 @@ open class ThemeActivity : AppCompatActivity() {
|
||||||
else -> setTheme(R.style.LightTheme_Blue)
|
else -> setTheme(R.style.LightTheme_Blue)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun setTaskBG() {
|
private fun setTaskBG() {
|
||||||
val label = getString(R.string.app_name)
|
val label = getString(R.string.app_name)
|
||||||
val color = ResourcesCompat.getColor(resources, R.color.Black, null)
|
val color = ResourcesCompat.getColor(resources, R.color.Black, null)
|
||||||
val taskDec: ActivityManager.TaskDescription = ActivityManager.TaskDescription(label, null, color)
|
val taskDec: ActivityManager.TaskDescription =
|
||||||
|
ActivityManager.TaskDescription(label, null, color)
|
||||||
setTaskDescription(taskDec)
|
setTaskDescription(taskDec)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -0,0 +1,31 @@
|
||||||
|
package com.vanced.manager.ui.core
|
||||||
|
|
||||||
|
import android.content.Context
|
||||||
|
import android.util.AttributeSet
|
||||||
|
import androidx.constraintlayout.widget.ConstraintLayout
|
||||||
|
|
||||||
|
open class SlidingConstraintLayout : ConstraintLayout {
|
||||||
|
constructor(context: Context?) : super(context)
|
||||||
|
constructor(context: Context?, attrs: AttributeSet?) : super(
|
||||||
|
context,
|
||||||
|
attrs
|
||||||
|
)
|
||||||
|
|
||||||
|
var xFraction: Float
|
||||||
|
get() {
|
||||||
|
val width = width
|
||||||
|
return if (width != 0)
|
||||||
|
x / getWidth()
|
||||||
|
else
|
||||||
|
x
|
||||||
|
}
|
||||||
|
set(xFraction) {
|
||||||
|
val width = width
|
||||||
|
val newWidth =
|
||||||
|
if (width > 0)
|
||||||
|
xFraction * width
|
||||||
|
else
|
||||||
|
(-9999).toFloat()
|
||||||
|
x = newWidth
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,31 @@
|
||||||
|
package com.vanced.manager.ui.core
|
||||||
|
|
||||||
|
import android.content.Context
|
||||||
|
import android.util.AttributeSet
|
||||||
|
import androidx.core.widget.NestedScrollView
|
||||||
|
|
||||||
|
open class SlidingNestedScrollView : NestedScrollView {
|
||||||
|
constructor(context: Context?) : super(context!!)
|
||||||
|
constructor(context: Context?, attrs: AttributeSet?) : super(
|
||||||
|
context!!,
|
||||||
|
attrs
|
||||||
|
)
|
||||||
|
|
||||||
|
var xFraction: Float
|
||||||
|
get() {
|
||||||
|
val width = width
|
||||||
|
return if (width != 0)
|
||||||
|
x / getWidth()
|
||||||
|
else
|
||||||
|
x
|
||||||
|
}
|
||||||
|
set(xFraction) {
|
||||||
|
val width = width
|
||||||
|
val newWidth =
|
||||||
|
if (width > 0)
|
||||||
|
xFraction * width
|
||||||
|
else
|
||||||
|
(-9999).toFloat()
|
||||||
|
x = newWidth
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,45 +1,24 @@
|
||||||
package com.vanced.manager.ui.fragments
|
package com.vanced.manager.ui.fragments
|
||||||
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.*
|
import android.view.LayoutInflater
|
||||||
|
import android.view.View
|
||||||
|
import android.view.ViewGroup
|
||||||
import androidx.fragment.app.Fragment
|
import androidx.fragment.app.Fragment
|
||||||
import android.widget.TextView
|
|
||||||
import androidx.navigation.fragment.findNavController
|
|
||||||
|
|
||||||
import com.vanced.manager.R
|
import com.vanced.manager.R
|
||||||
import com.vanced.manager.ui.core.BaseFragment
|
import com.vanced.manager.core.fragments.About
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A simple [Fragment] subclass.
|
* A simple [Fragment] subclass.
|
||||||
*/
|
*/
|
||||||
class AboutFragment : BaseFragment() {
|
class AboutFragment : About() {
|
||||||
|
|
||||||
override fun onStart() {
|
|
||||||
super.onStart()
|
|
||||||
activity?.title = getString(R.string.title_about)
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onCreateView(
|
override fun onCreateView(
|
||||||
inflater: LayoutInflater, container: ViewGroup?,
|
inflater: LayoutInflater, container: ViewGroup?,
|
||||||
savedInstanceState: Bundle?
|
savedInstanceState: Bundle?
|
||||||
): View? {
|
): View? {
|
||||||
|
activity?.title = getString(R.string.title_about)
|
||||||
return inflater.inflate(R.layout.fragment_about, container, false)
|
return inflater.inflate(R.layout.fragment_about, container, false)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
|
||||||
super.onViewCreated(view, savedInstanceState)
|
|
||||||
|
|
||||||
val githubSource = getView()?.findViewById(R.id.about_github_button) as TextView
|
|
||||||
val license = getView()?.findViewById(R.id.about_license_button) as TextView
|
|
||||||
|
|
||||||
githubSource.setOnClickListener{
|
|
||||||
openUrl("https://github.com/YTvanced/VancedInstaller", R.color.GitHub)
|
|
||||||
}
|
|
||||||
|
|
||||||
license.setOnClickListener{
|
|
||||||
openUrl("https://raw.githubusercontent.com/YTVanced/VancedInstaller/dev/LICENSE", R.color.GitHub)
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,40 +1,41 @@
|
||||||
package com.vanced.manager.ui.fragments
|
package com.vanced.manager.ui.fragments
|
||||||
|
|
||||||
import android.content.ComponentName
|
import android.content.Context
|
||||||
import android.net.Uri
|
import android.net.ConnectivityManager
|
||||||
|
import android.net.Network
|
||||||
|
import android.net.NetworkCapabilities
|
||||||
|
import android.net.NetworkRequest
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.widget.Button
|
|
||||||
import android.content.pm.PackageManager
|
|
||||||
import android.content.Intent
|
|
||||||
import android.view.*
|
import android.view.*
|
||||||
import androidx.navigation.findNavController
|
import android.view.animation.Animation
|
||||||
|
import android.view.animation.AnimationUtils
|
||||||
import androidx.viewpager2.widget.ViewPager2
|
import androidx.viewpager2.widget.ViewPager2
|
||||||
|
import com.google.android.material.card.MaterialCardView
|
||||||
import com.google.android.material.tabs.TabLayout
|
import com.google.android.material.tabs.TabLayout
|
||||||
import com.google.android.material.tabs.TabLayoutMediator
|
import com.google.android.material.tabs.TabLayoutMediator
|
||||||
import com.vanced.manager.adapter.SectionPageAdapter
|
|
||||||
import com.vanced.manager.R
|
import com.vanced.manager.R
|
||||||
import com.vanced.manager.ui.core.BaseFragment
|
import com.vanced.manager.adapter.SectionPageAdapter
|
||||||
|
import com.vanced.manager.core.fragments.Home
|
||||||
|
|
||||||
class HomeFragment : BaseFragment() {
|
class HomeFragment : Home() {
|
||||||
|
|
||||||
private lateinit var sectionPageAdapter: SectionPageAdapter
|
private lateinit var sectionPageAdapter: SectionPageAdapter
|
||||||
private lateinit var viewPager: ViewPager2
|
private lateinit var viewPager: ViewPager2
|
||||||
|
|
||||||
override fun onStart() {
|
|
||||||
super.onStart()
|
|
||||||
activity?.title = getString(R.string.title_home)
|
|
||||||
setHasOptionsMenu(true)
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onCreateView(
|
override fun onCreateView(
|
||||||
inflater: LayoutInflater, container: ViewGroup?,
|
inflater: LayoutInflater, container: ViewGroup?,
|
||||||
savedInstanceState: Bundle?
|
savedInstanceState: Bundle?
|
||||||
): View? {
|
): View? {
|
||||||
|
activity?.title = getString(R.string.title_home)
|
||||||
|
setHasOptionsMenu(true)
|
||||||
|
|
||||||
return inflater.inflate(R.layout.fragment_home, container, false)
|
return inflater.inflate(R.layout.fragment_home, container, false)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
|
|
||||||
|
connectionStatus()
|
||||||
|
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
|
||||||
sectionPageAdapter = SectionPageAdapter(this)
|
sectionPageAdapter = SectionPageAdapter(this)
|
||||||
|
@ -49,93 +50,71 @@ class HomeFragment : BaseFragment() {
|
||||||
}
|
}
|
||||||
}.attach()
|
}.attach()
|
||||||
|
|
||||||
val pm = activity?.packageManager
|
|
||||||
|
|
||||||
val microginstallbtn = getView()?.findViewById(R.id.microg_installbtn) as Button
|
|
||||||
val microguninstallbtn = getView()?.findViewById(R.id.microg_uninstallbtn) as Button
|
|
||||||
val microgsettingsbtn = getView()?.findViewById(R.id.microg_settingsbtn) as Button
|
|
||||||
val vancedinstallbtn = getView()?.findViewById(R.id.vanced_installbtn) as Button
|
|
||||||
|
|
||||||
val bravebtn = getView()?.findViewById(R.id.brave_button) as Button
|
|
||||||
val websitebtn = getView()?.findViewById(R.id.website_button) as Button
|
|
||||||
val discordbtn = getView()?.findViewById(R.id.discordbtn) as Button
|
|
||||||
val telegrambtn = getView()?.findViewById(R.id.tgbtn) as Button
|
|
||||||
val twitterbtn = getView()?.findViewById(R.id.twitterbtn) as Button
|
|
||||||
val redditbtn = getView()?.findViewById(R.id.redditbtn) as Button
|
|
||||||
|
|
||||||
val microgStatus = pm?.let { isPackageInstalled("com.mgoogle.android.gms", it) }
|
|
||||||
val vancedStatus = pm?.let { isPackageInstalled("com.vanced.android.youtube", it)}
|
|
||||||
|
|
||||||
vancedinstallbtn.setOnClickListener{
|
|
||||||
view.findNavController().navigate(R.id.toInstallThemeFragment)
|
|
||||||
}
|
|
||||||
|
|
||||||
microginstallbtn.setOnClickListener {
|
|
||||||
openUrl("https://youtu.be/dQw4w9WgXcQ", R.color.YT)
|
|
||||||
}
|
|
||||||
|
|
||||||
if (microgStatus!!) {
|
|
||||||
microguninstallbtn.setOnClickListener {
|
|
||||||
val uri = Uri.parse("package:com.mgoogle.android.gms")
|
|
||||||
val mgUninstall = Intent(Intent.ACTION_DELETE, uri)
|
|
||||||
startActivity(mgUninstall)
|
|
||||||
}
|
|
||||||
|
|
||||||
microgsettingsbtn.setOnClickListener {
|
|
||||||
val intent = Intent()
|
|
||||||
intent.component = ComponentName(
|
|
||||||
"com.mgoogle.android.gms",
|
|
||||||
"org.microg.gms.ui.SettingsActivity"
|
|
||||||
)
|
|
||||||
startActivity(intent)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
microgsettingsbtn.visibility = View.INVISIBLE
|
|
||||||
microguninstallbtn.visibility = View.INVISIBLE
|
|
||||||
}
|
|
||||||
|
|
||||||
bravebtn.setOnClickListener {
|
|
||||||
openUrl("https://brave.com/van874", R.color.Brave)
|
|
||||||
|
|
||||||
}
|
|
||||||
websitebtn.setOnClickListener {
|
|
||||||
openUrl("https://vanced.app", R.color.Vanced)
|
|
||||||
}
|
|
||||||
discordbtn.setOnClickListener {
|
|
||||||
openUrl("https://discord.gg/TUVd7rd", R.color.Discord)
|
|
||||||
|
|
||||||
}
|
|
||||||
telegrambtn.setOnClickListener {
|
|
||||||
openUrl("https://t.me/joinchat/AAAAAEHf-pi4jH1SDIAL4w", R.color.Telegram)
|
|
||||||
|
|
||||||
}
|
|
||||||
twitterbtn.setOnClickListener {
|
|
||||||
openUrl("https://twitter.com/YTVanced", R.color.Twitter)
|
|
||||||
|
|
||||||
}
|
|
||||||
redditbtn.setOnClickListener {
|
|
||||||
openUrl("https://reddit.com/r/vanced", R.color.Reddit)
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) {
|
override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) {
|
||||||
inflater.inflate(R.menu.toolbar_menu, menu)
|
inflater.inflate(R.menu.toolbar_menu, menu)
|
||||||
|
super .onCreateOptionsMenu(menu, inflater)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onOptionsItemSelected(item: MenuItem) = when (item.itemId) {
|
|
||||||
R.id.about -> view?.findNavController()?.navigate(R.id.toAboutFragment)
|
|
||||||
else -> null
|
|
||||||
}?.let { true } ?: super.onOptionsItemSelected(item)
|
|
||||||
|
|
||||||
private fun isPackageInstalled(packageName: String, packageManager: PackageManager): Boolean {
|
|
||||||
return try {
|
private var networkCallback = object: ConnectivityManager.NetworkCallback() {
|
||||||
packageManager.getPackageInfo(packageName, 0)
|
|
||||||
true
|
override fun onLost(network: Network) {
|
||||||
} catch (e: PackageManager.NameNotFoundException) {
|
super.onLost(network)
|
||||||
false
|
|
||||||
|
activity?.runOnUiThread {
|
||||||
|
|
||||||
|
val animationShow: Animation = AnimationUtils.loadAnimation(requireContext(), R.anim.view_enter)
|
||||||
|
val networkErrorLayout = view?.findViewById<MaterialCardView>(R.id.home_network_wrapper)
|
||||||
|
|
||||||
|
networkErrorLayout?.visibility = View.VISIBLE
|
||||||
|
networkErrorLayout?.startAnimation(animationShow)
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun onUnavailable() {
|
||||||
|
super.onUnavailable()
|
||||||
|
|
||||||
|
activity?.runOnUiThread {
|
||||||
|
|
||||||
|
val networkErrorLayout = view?.findViewById<MaterialCardView>(R.id.home_network_wrapper)
|
||||||
|
networkErrorLayout?.visibility = View.VISIBLE
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onAvailable(network: Network) {
|
||||||
|
super.onAvailable(network)
|
||||||
|
|
||||||
|
activity?.runOnUiThread {
|
||||||
|
|
||||||
|
val animationHide: Animation = AnimationUtils.loadAnimation(requireContext(), R.anim.view_exit)
|
||||||
|
val networkErrorLayout = view?.findViewById<MaterialCardView>(R.id.home_network_wrapper)
|
||||||
|
|
||||||
|
networkErrorLayout?.startAnimation(animationHide)
|
||||||
|
networkErrorLayout?.visibility = View.GONE
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun connectionStatus() {
|
||||||
|
val connectivityManager = context?.applicationContext?.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
|
||||||
|
val networkRequest = NetworkRequest.Builder()
|
||||||
|
.addTransportType(NetworkCapabilities.TRANSPORT_WIFI)
|
||||||
|
.build()
|
||||||
|
try {
|
||||||
|
connectivityManager.unregisterNetworkCallback(networkCallback)
|
||||||
|
} catch (e: Exception) {
|
||||||
|
|
||||||
|
}
|
||||||
|
connectivityManager.registerNetworkCallback(networkRequest, networkCallback)
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,8 +5,6 @@ import androidx.fragment.app.Fragment
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import android.widget.Button
|
|
||||||
import android.widget.TextView
|
|
||||||
import com.vanced.manager.R
|
import com.vanced.manager.R
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -18,7 +16,7 @@ class LanguageScrollviewFragment : Fragment() {
|
||||||
inflater: LayoutInflater, container: ViewGroup?,
|
inflater: LayoutInflater, container: ViewGroup?,
|
||||||
savedInstanceState: Bundle?
|
savedInstanceState: Bundle?
|
||||||
): View? {
|
): View? {
|
||||||
return inflater.inflate(R.layout.fragment_language_scrollview, container, false)
|
return inflater.inflate(R.layout.include_language_scrollview, container, false)
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,32 +1,14 @@
|
||||||
package com.vanced.manager.ui.fragments
|
package com.vanced.manager.ui.fragments
|
||||||
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import androidx.fragment.app.Fragment
|
import androidx.preference.PreferenceFragmentCompat
|
||||||
import android.view.LayoutInflater
|
|
||||||
import android.view.View
|
|
||||||
import android.view.ViewGroup
|
|
||||||
import android.widget.TextView
|
|
||||||
import com.vanced.manager.R
|
import com.vanced.manager.R
|
||||||
|
|
||||||
class SecretSettingsFragment : Fragment() {
|
class SecretSettingsFragment : PreferenceFragmentCompat() {
|
||||||
|
|
||||||
override fun onStart() {
|
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
|
||||||
super.onStart()
|
setPreferencesFromResource(R.xml.secret_settings, rootKey)
|
||||||
activity?.title = getString(R.string.title_settings)
|
activity?.title = "Secret Settings"
|
||||||
}
|
|
||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
|
||||||
super.onCreate(savedInstanceState)
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onCreateView(
|
|
||||||
inflater: LayoutInflater, container: ViewGroup?,
|
|
||||||
savedInstanceState: Bundle?
|
|
||||||
): View? {
|
|
||||||
return TextView(activity).apply {
|
|
||||||
setText(R.string.title_settings)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,8 +4,8 @@ import android.content.res.Configuration
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.Menu
|
import android.view.Menu
|
||||||
import android.view.MenuInflater
|
import android.view.MenuInflater
|
||||||
import android.view.MenuItem
|
import androidx.fragment.app.FragmentManager
|
||||||
import androidx.navigation.findNavController
|
import androidx.preference.DialogPreference
|
||||||
import androidx.preference.ListPreference
|
import androidx.preference.ListPreference
|
||||||
import androidx.preference.Preference
|
import androidx.preference.Preference
|
||||||
import androidx.preference.PreferenceFragmentCompat
|
import androidx.preference.PreferenceFragmentCompat
|
||||||
|
@ -13,16 +13,18 @@ import com.vanced.manager.R
|
||||||
|
|
||||||
class SettingsFragment : PreferenceFragmentCompat() {
|
class SettingsFragment : PreferenceFragmentCompat() {
|
||||||
|
|
||||||
override fun onStart() {
|
|
||||||
super.onStart()
|
|
||||||
activity?.title = getString(R.string.title_settings)
|
|
||||||
setHasOptionsMenu(true)
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
|
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
|
||||||
setPreferencesFromResource(R.xml.preferences, rootKey)
|
setPreferencesFromResource(R.xml.preferences, rootKey)
|
||||||
|
activity?.title = getString(R.string.title_settings)
|
||||||
|
setHasOptionsMenu(true)
|
||||||
|
|
||||||
val updateCheck: Preference? = findPreference("update_check")
|
val updateCheck: Preference? = findPreference("update_check")
|
||||||
|
updateCheck?.setOnPreferenceClickListener {
|
||||||
|
val fm = childFragmentManager.beginTransaction()
|
||||||
|
val updateDialog = UpdateCheckFragment()
|
||||||
|
updateDialog.show(fm, "Update Center")
|
||||||
|
true
|
||||||
|
}
|
||||||
|
|
||||||
val themeSwitch: ListPreference? = findPreference("theme_mode")
|
val themeSwitch: ListPreference? = findPreference("theme_mode")
|
||||||
themeSwitch?.setOnPreferenceChangeListener { _, _ ->
|
themeSwitch?.setOnPreferenceChangeListener { _, _ ->
|
||||||
|
@ -59,11 +61,7 @@ class SettingsFragment : PreferenceFragmentCompat() {
|
||||||
}
|
}
|
||||||
override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) {
|
override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) {
|
||||||
inflater.inflate(R.menu.secret_settings_menu, menu)
|
inflater.inflate(R.menu.secret_settings_menu, menu)
|
||||||
|
super .onCreateOptionsMenu(menu, inflater)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onOptionsItemSelected(item: MenuItem) = when (item.itemId) {
|
|
||||||
R.id.secret_settings -> view?.findNavController()?.navigate(R.id.toSecretSettingsFragment)
|
|
||||||
else -> null
|
|
||||||
}?.let { true } ?: super.onOptionsItemSelected(item)
|
|
||||||
|
|
||||||
}
|
}
|
|
@ -1,26 +1,36 @@
|
||||||
package com.vanced.manager.ui.fragments
|
package com.vanced.manager.ui.fragments
|
||||||
|
|
||||||
import android.app.Dialog
|
import android.app.Dialog
|
||||||
|
import android.graphics.Color
|
||||||
|
import android.graphics.drawable.ColorDrawable
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import androidx.fragment.app.Fragment
|
import androidx.fragment.app.Fragment
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
|
import android.widget.Button
|
||||||
import androidx.fragment.app.DialogFragment
|
import androidx.fragment.app.DialogFragment
|
||||||
|
|
||||||
import com.vanced.manager.R
|
import com.vanced.manager.R
|
||||||
|
|
||||||
/**
|
|
||||||
* A simple [Fragment] subclass.
|
|
||||||
*/
|
|
||||||
class UpdateCheckFragment : DialogFragment() {
|
class UpdateCheckFragment : DialogFragment() {
|
||||||
|
|
||||||
override fun onCreateView(
|
override fun onCreateView(
|
||||||
inflater: LayoutInflater, container: ViewGroup?,
|
inflater: LayoutInflater, container: ViewGroup?,
|
||||||
savedInstanceState: Bundle?
|
savedInstanceState: Bundle?
|
||||||
): View? {
|
): View? {
|
||||||
// Inflate the layout for this fragment
|
if (dialog != null && dialog?.window != null) {
|
||||||
|
dialog?.window?.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT))
|
||||||
|
}
|
||||||
return inflater.inflate(R.layout.fragment_update_check, container, false)
|
return inflater.inflate(R.layout.fragment_update_check, container, false)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
|
||||||
|
val closebtn = view.findViewById<Button>(R.id.update_center_dismiss)
|
||||||
|
|
||||||
|
closebtn.setOnClickListener { dismiss() }
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,45 +1,20 @@
|
||||||
package com.vanced.manager.ui.fragments
|
package com.vanced.manager.ui.fragments
|
||||||
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import androidx.fragment.app.Fragment
|
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import android.widget.Button
|
|
||||||
import androidx.navigation.findNavController
|
|
||||||
|
|
||||||
import com.vanced.manager.R
|
import com.vanced.manager.R
|
||||||
import kotlinx.android.synthetic.main.fragment_vanced_language_selection.view.*
|
import com.vanced.manager.core.fragments.LanguageInstall
|
||||||
|
|
||||||
class VancedLanguageSelectionFragment : Fragment() {
|
class VancedLanguageSelectionFragment : LanguageInstall() {
|
||||||
|
|
||||||
override fun onStart() {
|
|
||||||
super.onStart()
|
|
||||||
activity?.title = getString(R.string.title_install)
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onCreateView(
|
override fun onCreateView(
|
||||||
inflater: LayoutInflater, container: ViewGroup?,
|
inflater: LayoutInflater, container: ViewGroup?,
|
||||||
savedInstanceState: Bundle?
|
savedInstanceState: Bundle?
|
||||||
): View? {
|
): View? {
|
||||||
|
activity?.title = getString(R.string.title_install)
|
||||||
return inflater.inflate(R.layout.fragment_vanced_language_selection, container, false)
|
return inflater.inflate(R.layout.fragment_vanced_language_selection, container, false)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
|
||||||
super.onViewCreated(view, savedInstanceState)
|
|
||||||
val fragmentManager = childFragmentManager
|
|
||||||
|
|
||||||
val finishButton = getView()?.findViewById(R.id.vanced_install_finish) as Button
|
|
||||||
|
|
||||||
finishButton.setOnClickListener {
|
|
||||||
view.findNavController().navigate(R.id.action_installTo_homeFragment)
|
|
||||||
}
|
|
||||||
|
|
||||||
fragmentManager
|
|
||||||
.beginTransaction()
|
|
||||||
.replace(R.id.language_choose_frame, LanguageScrollviewFragment())
|
|
||||||
.commit()
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,39 +1,20 @@
|
||||||
package com.vanced.manager.ui.fragments
|
package com.vanced.manager.ui.fragments
|
||||||
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import androidx.fragment.app.Fragment
|
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import android.widget.Button
|
|
||||||
import android.widget.TextView
|
|
||||||
import androidx.fragment.app.FragmentManager
|
|
||||||
import androidx.navigation.findNavController
|
|
||||||
import com.vanced.manager.R
|
import com.vanced.manager.R
|
||||||
|
import com.vanced.manager.core.fragments.ThemeInstall
|
||||||
|
|
||||||
class VancedThemeSelectionFragment : Fragment() {
|
class VancedThemeSelectionFragment : ThemeInstall() {
|
||||||
|
|
||||||
override fun onStart() {
|
|
||||||
super.onStart()
|
|
||||||
activity?.title = getString(R.string.title_install)
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onCreateView(
|
override fun onCreateView(
|
||||||
inflater: LayoutInflater, container: ViewGroup?,
|
inflater: LayoutInflater, container: ViewGroup?,
|
||||||
savedInstanceState: Bundle?
|
savedInstanceState: Bundle?
|
||||||
): View? {
|
): View? {
|
||||||
|
activity?.title = getString(R.string.title_install)
|
||||||
return inflater.inflate(R.layout.fragment_vanced_theme_selection, container, false)
|
return inflater.inflate(R.layout.fragment_vanced_theme_selection, container, false)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
|
||||||
super.onViewCreated(view, savedInstanceState)
|
|
||||||
val fragmentManager = activity?.supportFragmentManager
|
|
||||||
|
|
||||||
val nextButton = getView()?.findViewById(R.id.vanced_next_to_variant) as Button
|
|
||||||
|
|
||||||
nextButton.setOnClickListener{
|
|
||||||
view.findNavController().navigate(R.id.toInstallVariantFragment)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,39 +1,23 @@
|
||||||
package com.vanced.manager.ui.fragments
|
package com.vanced.manager.ui.fragments
|
||||||
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import androidx.fragment.app.Fragment
|
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import android.widget.Button
|
|
||||||
import androidx.navigation.findNavController
|
|
||||||
import androidx.navigation.fragment.findNavController
|
|
||||||
import com.vanced.manager.R
|
import com.vanced.manager.R
|
||||||
|
import com.vanced.manager.core.fragments.VariantInstall
|
||||||
|
|
||||||
class VancedVariantSelectionFragment : Fragment() {
|
class VancedVariantSelectionFragment : VariantInstall() {
|
||||||
|
|
||||||
override fun onStart() {
|
|
||||||
super.onStart()
|
|
||||||
activity?.title = getString(R.string.title_install)
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onCreateView(
|
override fun onCreateView(
|
||||||
inflater: LayoutInflater, container: ViewGroup?,
|
inflater: LayoutInflater, container: ViewGroup?,
|
||||||
savedInstanceState: Bundle?
|
savedInstanceState: Bundle?
|
||||||
): View? {
|
): View? {
|
||||||
|
activity?.title = getString(R.string.title_install)
|
||||||
return inflater.inflate(R.layout.fragment_vanced_variant_selection, container, false)
|
return inflater.inflate(R.layout.fragment_vanced_variant_selection, container, false)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
|
||||||
super.onViewCreated(view, savedInstanceState)
|
|
||||||
val fragmentManager = activity?.supportFragmentManager
|
|
||||||
|
|
||||||
val nextButton = getView()?.findViewById(R.id.vanced_next_to_language) as Button
|
|
||||||
|
|
||||||
nextButton.setOnClickListener{
|
|
||||||
view.findNavController().navigate(R.id.toInstallLanguageFragment)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,17 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<set xmlns:android="http://schemas.android.com/apk/res/android">
|
|
||||||
|
|
||||||
<alpha
|
|
||||||
android:duration="@android:integer/config_shortAnimTime"
|
|
||||||
android:fromAlpha="0"
|
|
||||||
android:toAlpha="1" />
|
|
||||||
|
|
||||||
<scale
|
|
||||||
android:fromXScale="0.7"
|
|
||||||
android:toXScale="1"
|
|
||||||
android:fromYScale="0.7"
|
|
||||||
android:toYScale="1"
|
|
||||||
android:pivotX="50%p"
|
|
||||||
android:pivotY="50%p" />
|
|
||||||
|
|
||||||
</set>
|
|
|
@ -1,17 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<set xmlns:android="http://schemas.android.com/apk/res/android">
|
|
||||||
|
|
||||||
<alpha
|
|
||||||
android:duration="@android:integer/config_shortAnimTime"
|
|
||||||
android:fromAlpha="1"
|
|
||||||
android:toAlpha="0" />
|
|
||||||
|
|
||||||
<scale
|
|
||||||
android:fromXScale="1.2"
|
|
||||||
android:toXScale="1"
|
|
||||||
android:fromYScale="1.2"
|
|
||||||
android:toYScale="1"
|
|
||||||
android:pivotX="50%p"
|
|
||||||
android:pivotY="50%p" />
|
|
||||||
|
|
||||||
</set>
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<set xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
|
||||||
|
<translate
|
||||||
|
android:duration="@android:integer/config_mediumAnimTime"
|
||||||
|
android:fromYDelta="50%p"
|
||||||
|
android:toYDelta="0" />
|
||||||
|
|
||||||
|
</set>
|
|
@ -0,0 +1,9 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<set xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
|
||||||
|
<translate
|
||||||
|
android:duration="@android:integer/config_mediumAnimTime"
|
||||||
|
android:fromYDelta="0"
|
||||||
|
android:toYDelta="100%p" />
|
||||||
|
|
||||||
|
</set>
|
|
@ -0,0 +1,9 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<set xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
|
||||||
|
<translate
|
||||||
|
android:duration="@android:integer/config_mediumAnimTime"
|
||||||
|
android:fromYDelta="-100%p"
|
||||||
|
android:toYDelta="0" />
|
||||||
|
|
||||||
|
</set>
|
|
@ -0,0 +1,9 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<set xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
|
||||||
|
<translate
|
||||||
|
android:duration="@android:integer/config_mediumAnimTime"
|
||||||
|
android:fromYDelta="0"
|
||||||
|
android:toYDelta="-100%p" />
|
||||||
|
|
||||||
|
</set>
|
|
@ -0,0 +1,26 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<set xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:ordering="together">
|
||||||
|
|
||||||
|
<objectAnimator
|
||||||
|
android:duration="@android:integer/config_shortAnimTime"
|
||||||
|
android:propertyName="scaleX"
|
||||||
|
android:valueFrom="0.8"
|
||||||
|
android:valueTo="1"
|
||||||
|
android:valueType="floatType"/>
|
||||||
|
|
||||||
|
<objectAnimator
|
||||||
|
android:duration="@android:integer/config_shortAnimTime"
|
||||||
|
android:propertyName="scaleY"
|
||||||
|
android:valueFrom="0.8"
|
||||||
|
android:valueTo="1"
|
||||||
|
android:valueType="floatType"/>
|
||||||
|
|
||||||
|
<objectAnimator
|
||||||
|
android:duration="@android:integer/config_shortAnimTime"
|
||||||
|
android:propertyName="alpha"
|
||||||
|
android:valueFrom="0"
|
||||||
|
android:valueTo="1"
|
||||||
|
android:valueType="floatType" />
|
||||||
|
|
||||||
|
</set>
|
|
@ -2,10 +2,10 @@
|
||||||
<set xmlns:android="http://schemas.android.com/apk/res/android">
|
<set xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
|
||||||
<objectAnimator
|
<objectAnimator
|
||||||
android:duration="500"
|
android:duration="@android:integer/config_mediumAnimTime"
|
||||||
android:propertyName="x"
|
android:valueType="floatType"
|
||||||
android:valueFrom="-1000"
|
android:valueFrom="-1.0"
|
||||||
android:valueTo="0"
|
android:valueTo="0"
|
||||||
android:valueType="floatType" />
|
android:propertyName="xFraction" />
|
||||||
|
|
||||||
</set>
|
</set>
|
|
@ -0,0 +1,26 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<set xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:ordering="together">
|
||||||
|
|
||||||
|
<objectAnimator
|
||||||
|
android:duration="@android:integer/config_shortAnimTime"
|
||||||
|
android:propertyName="scaleX"
|
||||||
|
android:valueFrom="1.1"
|
||||||
|
android:valueTo="1"
|
||||||
|
android:valueType="floatType"/>
|
||||||
|
|
||||||
|
<objectAnimator
|
||||||
|
android:duration="@android:integer/config_shortAnimTime"
|
||||||
|
android:propertyName="scaleY"
|
||||||
|
android:valueFrom="1.1"
|
||||||
|
android:valueTo="1"
|
||||||
|
android:valueType="floatType"/>
|
||||||
|
|
||||||
|
<objectAnimator
|
||||||
|
android:duration="@android:integer/config_shortAnimTime"
|
||||||
|
android:propertyName="alpha"
|
||||||
|
android:valueFrom="0"
|
||||||
|
android:valueTo="1"
|
||||||
|
android:valueType="floatType" />
|
||||||
|
|
||||||
|
</set>
|
|
@ -2,10 +2,10 @@
|
||||||
<set xmlns:android="http://schemas.android.com/apk/res/android">
|
<set xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
|
||||||
<objectAnimator
|
<objectAnimator
|
||||||
android:duration="500"
|
android:duration="@android:integer/config_mediumAnimTime"
|
||||||
android:propertyName="x"
|
android:valueType="floatType"
|
||||||
android:valueFrom="1000"
|
android:valueFrom="1.0"
|
||||||
android:valueTo="0"
|
android:valueTo="0"
|
||||||
android:valueType="floatType" />
|
android:propertyName="xFraction" />
|
||||||
|
|
||||||
</set>
|
</set>
|
|
@ -0,0 +1,26 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<set xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:ordering="together">
|
||||||
|
|
||||||
|
<objectAnimator
|
||||||
|
android:duration="@android:integer/config_shortAnimTime"
|
||||||
|
android:propertyName="scaleX"
|
||||||
|
android:valueFrom="1"
|
||||||
|
android:valueTo="0.8"
|
||||||
|
android:valueType="floatType"/>
|
||||||
|
|
||||||
|
<objectAnimator
|
||||||
|
android:duration="@android:integer/config_shortAnimTime"
|
||||||
|
android:propertyName="scaleY"
|
||||||
|
android:valueFrom="1"
|
||||||
|
android:valueTo="0.8"
|
||||||
|
android:valueType="floatType"/>
|
||||||
|
|
||||||
|
<objectAnimator
|
||||||
|
android:duration="@android:integer/config_shortAnimTime"
|
||||||
|
android:propertyName="alpha"
|
||||||
|
android:valueFrom="1"
|
||||||
|
android:valueTo="0"
|
||||||
|
android:valueType="floatType" />
|
||||||
|
|
||||||
|
</set>
|
|
@ -2,10 +2,10 @@
|
||||||
<set xmlns:android="http://schemas.android.com/apk/res/android">
|
<set xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
|
||||||
<objectAnimator
|
<objectAnimator
|
||||||
android:duration="500"
|
android:duration="@android:integer/config_mediumAnimTime"
|
||||||
android:propertyName="x"
|
android:valueType="floatType"
|
||||||
android:valueFrom="0"
|
android:valueFrom="0"
|
||||||
android:valueTo="-1000"
|
android:valueTo="-1.0"
|
||||||
android:valueType="floatType" />
|
android:propertyName="xFraction" />
|
||||||
|
|
||||||
</set>
|
</set>
|
|
@ -0,0 +1,26 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<set xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:ordering="together">
|
||||||
|
|
||||||
|
<objectAnimator
|
||||||
|
android:duration="@android:integer/config_shortAnimTime"
|
||||||
|
android:propertyName="scaleX"
|
||||||
|
android:valueFrom="1"
|
||||||
|
android:valueTo="1.1"
|
||||||
|
android:valueType="floatType"/>
|
||||||
|
|
||||||
|
<objectAnimator
|
||||||
|
android:duration="@android:integer/config_shortAnimTime"
|
||||||
|
android:propertyName="scaleX"
|
||||||
|
android:valueFrom="1"
|
||||||
|
android:valueTo="1.1"
|
||||||
|
android:valueType="floatType"/>
|
||||||
|
|
||||||
|
<objectAnimator
|
||||||
|
android:duration="@android:integer/config_shortAnimTime"
|
||||||
|
android:propertyName="alpha"
|
||||||
|
android:valueFrom="1"
|
||||||
|
android:valueTo="0"
|
||||||
|
android:valueType="floatType" />
|
||||||
|
|
||||||
|
</set>
|
|
@ -2,10 +2,10 @@
|
||||||
<set xmlns:android="http://schemas.android.com/apk/res/android">
|
<set xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
|
||||||
<objectAnimator
|
<objectAnimator
|
||||||
android:duration="500"
|
android:duration="@android:integer/config_mediumAnimTime"
|
||||||
android:propertyName="x"
|
android:valueType="floatType"
|
||||||
android:valueFrom="0"
|
android:valueFrom="0"
|
||||||
android:valueTo="1000"
|
android:valueTo="1.0"
|
||||||
android:valueType="floatType" />
|
android:propertyName="xFraction" />
|
||||||
|
|
||||||
</set>
|
</set>
|
|
@ -1,9 +1,10 @@
|
||||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:width="34dp"
|
android:width="24dp"
|
||||||
android:height="34dp"
|
android:height="24dp"
|
||||||
android:viewportWidth="24.0"
|
android:viewportWidth="24.0"
|
||||||
android:viewportHeight="24.0">
|
android:viewportHeight="24.0">
|
||||||
<path
|
<path
|
||||||
android:fillColor="?attr/toolbarIconColor"
|
android:fillColor="?attr/toolbarIconColor"
|
||||||
android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM13,17h-2v-6h2v6zM13,9h-2L11,7h2v2z"/>
|
android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM13,17h-2v-6h2v6zM13,9h-2L11,7h2v2z"/>
|
||||||
|
|
||||||
</vector>
|
</vector>
|
||||||
|
|
|
@ -5,6 +5,6 @@
|
||||||
android:viewportWidth="24"
|
android:viewportWidth="24"
|
||||||
android:viewportHeight="24">
|
android:viewportHeight="24">
|
||||||
<path
|
<path
|
||||||
android:fillColor="#FF000000"
|
android:fillColor="?attr/toolbarIconColor"
|
||||||
android:pathData="M19.1,12.9a2.8,2.8 0,0 0,0.1 -0.9,2.8 2.8,0 0,0 -0.1,-0.9l2.1,-1.6a0.7,0.7 0,0 0,0.1 -0.6L19.4,5.5a0.7,0.7 0,0 0,-0.6 -0.2l-2.4,1a6.5,6.5 0,0 0,-1.6 -0.9l-0.4,-2.6a0.5,0.5 0,0 0,-0.5 -0.4H10.1a0.5,0.5 0,0 0,-0.5 0.4L9.3,5.4a5.6,5.6 0,0 0,-1.7 0.9l-2.4,-1a0.4,0.4 0,0 0,-0.5 0.2l-2,3.4c-0.1,0.2 0,0.4 0.2,0.6l2,1.6a2.8,2.8 0,0 0,-0.1 0.9,2.8 2.8,0 0,0 0.1,0.9L2.8,14.5a0.7,0.7 0,0 0,-0.1 0.6l1.9,3.4a0.7,0.7 0,0 0,0.6 0.2l2.4,-1a6.5,6.5 0,0 0,1.6 0.9l0.4,2.6a0.5,0.5 0,0 0,0.5 0.4h3.8a0.5,0.5 0,0 0,0.5 -0.4l0.3,-2.6a5.6,5.6 0,0 0,1.7 -0.9l2.4,1a0.4,0.4 0,0 0,0.5 -0.2l2,-3.4c0.1,-0.2 0,-0.4 -0.2,-0.6ZM12,15.6A3.6,3.6 0,1 1,15.6 12,3.6 3.6,0 0,1 12,15.6Z"/>
|
android:pathData="M19.1,12.9a2.8,2.8 0,0 0,0.1 -0.9,2.8 2.8,0 0,0 -0.1,-0.9l2.1,-1.6a0.7,0.7 0,0 0,0.1 -0.6L19.4,5.5a0.7,0.7 0,0 0,-0.6 -0.2l-2.4,1a6.5,6.5 0,0 0,-1.6 -0.9l-0.4,-2.6a0.5,0.5 0,0 0,-0.5 -0.4H10.1a0.5,0.5 0,0 0,-0.5 0.4L9.3,5.4a5.6,5.6 0,0 0,-1.7 0.9l-2.4,-1a0.4,0.4 0,0 0,-0.5 0.2l-2,3.4c-0.1,0.2 0,0.4 0.2,0.6l2,1.6a2.8,2.8 0,0 0,-0.1 0.9,2.8 2.8,0 0,0 0.1,0.9L2.8,14.5a0.7,0.7 0,0 0,-0.1 0.6l1.9,3.4a0.7,0.7 0,0 0,0.6 0.2l2.4,-1a6.5,6.5 0,0 0,1.6 0.9l0.4,2.6a0.5,0.5 0,0 0,0.5 0.4h3.8a0.5,0.5 0,0 0,0.5 -0.4l0.3,-2.6a5.6,5.6 0,0 0,1.7 -0.9l2.4,1a0.4,0.4 0,0 0,0.5 -0.2l2,-3.4c0.1,-0.2 0,-0.4 -0.2,-0.6ZM12,15.6A3.6,3.6 0,1 1,15.6 12,3.6 3.6,0 0,1 12,15.6Z"/>
|
||||||
</vector>
|
</vector>
|
||||||
|
|
|
@ -0,0 +1,10 @@
|
||||||
|
<vector
|
||||||
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="24dp"
|
||||||
|
android:height="24dp"
|
||||||
|
android:viewportWidth="24"
|
||||||
|
android:viewportHeight="24">
|
||||||
|
<path
|
||||||
|
android:fillColor="#1490D7"
|
||||||
|
android:pathData="M19.1,12.9a2.8,2.8 0,0 0,0.1 -0.9,2.8 2.8,0 0,0 -0.1,-0.9l2.1,-1.6a0.7,0.7 0,0 0,0.1 -0.6L19.4,5.5a0.7,0.7 0,0 0,-0.6 -0.2l-2.4,1a6.5,6.5 0,0 0,-1.6 -0.9l-0.4,-2.6a0.5,0.5 0,0 0,-0.5 -0.4H10.1a0.5,0.5 0,0 0,-0.5 0.4L9.3,5.4a5.6,5.6 0,0 0,-1.7 0.9l-2.4,-1a0.4,0.4 0,0 0,-0.5 0.2l-2,3.4c-0.1,0.2 0,0.4 0.2,0.6l2,1.6a2.8,2.8 0,0 0,-0.1 0.9,2.8 2.8,0 0,0 0.1,0.9L2.8,14.5a0.7,0.7 0,0 0,-0.1 0.6l1.9,3.4a0.7,0.7 0,0 0,0.6 0.2l2.4,-1a6.5,6.5 0,0 0,1.6 0.9l0.4,2.6a0.5,0.5 0,0 0,0.5 0.4h3.8a0.5,0.5 0,0 0,0.5 -0.4l0.3,-2.6a5.6,5.6 0,0 0,1.7 -0.9l2.4,1a0.4,0.4 0,0 0,0.5 -0.2l2,-3.4c0.1,-0.2 0,-0.4 -0.2,-0.6ZM12,15.6A3.6,3.6 0,1 1,15.6 12,3.6 3.6,0 0,1 12,15.6Z"/>
|
||||||
|
</vector>
|
|
@ -0,0 +1,9 @@
|
||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="24dp"
|
||||||
|
android:height="24dp"
|
||||||
|
android:viewportWidth="24"
|
||||||
|
android:viewportHeight="24">
|
||||||
|
<path
|
||||||
|
android:fillColor="#1490D7"
|
||||||
|
android:pathData="M19.35,10.04C18.67,6.59 15.64,4 12,4 9.11,4 6.6,5.64 5.35,8.04 2.34,8.36 0,10.91 0,14c0,3.31 2.69,6 6,6h13c2.76,0 5,-2.24 5,-5 0,-2.64 -2.05,-4.78 -4.65,-4.96zM19,18L6,18c-2.21,0 -4,-1.79 -4,-4 0,-2.05 1.53,-3.76 3.56,-3.97l1.07,-0.11 0.5,-0.95C8.08,7.14 9.94,6 12,6c2.62,0 4.88,1.86 5.39,4.43l0.3,1.5 1.53,0.11c1.56,0.1 2.78,1.41 2.78,2.96 0,1.65 -1.35,3 -3,3zM13.45,10h-2.9v3L8,13l4,4 4,-4h-2.55z"/>
|
||||||
|
</vector>
|
|
@ -1,36 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<RelativeLayout
|
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
tools:context=".ui.AboutActivity"
|
|
||||||
android:background="?colorSurface">
|
|
||||||
|
|
||||||
<com.google.android.material.appbar.AppBarLayout
|
|
||||||
android:id="@+id/about_appbar"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:elevation="1dp"
|
|
||||||
android:background="?colorSurface"
|
|
||||||
android:layout_alignParentTop="true">
|
|
||||||
|
|
||||||
<com.google.android.material.appbar.MaterialToolbar
|
|
||||||
android:id="@+id/about_toolbar"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="?attr/actionBarSize"
|
|
||||||
app:titleTextColor="?attr/toolbarIconColor"
|
|
||||||
android:background="@android:color/transparent"/>
|
|
||||||
|
|
||||||
</com.google.android.material.appbar.AppBarLayout>
|
|
||||||
|
|
||||||
<FrameLayout
|
|
||||||
android:id="@+id/frame_layout_about"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:layout_below="@id/about_appbar"
|
|
||||||
android:layout_alignParentBottom="true">
|
|
||||||
</FrameLayout>
|
|
||||||
|
|
||||||
</RelativeLayout>
|
|
|
@ -13,9 +13,9 @@
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:layout_below="@id/home_appbar"
|
android:layout_below="@id/home_appbar"
|
||||||
android:layout_above="@id/bottom_nav"
|
|
||||||
app:defaultNavHost="true"
|
app:defaultNavHost="true"
|
||||||
app:navGraph="@navigation/mobile_navigation"/>
|
app:navGraph="@navigation/mobile_navigation"/>
|
||||||
|
<!--android:layout_above="@id/bottom_nav"-->
|
||||||
|
|
||||||
<com.google.android.material.appbar.AppBarLayout
|
<com.google.android.material.appbar.AppBarLayout
|
||||||
android:id="@+id/home_appbar"
|
android:id="@+id/home_appbar"
|
||||||
|
@ -37,6 +37,7 @@
|
||||||
|
|
||||||
</com.google.android.material.appbar.AppBarLayout>
|
</com.google.android.material.appbar.AppBarLayout>
|
||||||
|
|
||||||
|
<!--
|
||||||
<com.google.android.material.bottomnavigation.BottomNavigationView
|
<com.google.android.material.bottomnavigation.BottomNavigationView
|
||||||
android:id="@+id/bottom_nav"
|
android:id="@+id/bottom_nav"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
@ -45,5 +46,6 @@
|
||||||
android:layout_alignParentBottom="true"
|
android:layout_alignParentBottom="true"
|
||||||
app:labelVisibilityMode="unlabeled"
|
app:labelVisibilityMode="unlabeled"
|
||||||
app:menu="@menu/bottom_nav_menu" />
|
app:menu="@menu/bottom_nav_menu" />
|
||||||
|
-->
|
||||||
|
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
|
@ -1,16 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<FrameLayout
|
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:background="?colorSurface"
|
|
||||||
tools:context=".ui.core.SplashScreenActivity">
|
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="400dp"
|
|
||||||
android:src="@drawable/ic_launcher_foreground"
|
|
||||||
android:layout_gravity="center"/>
|
|
||||||
|
|
||||||
</FrameLayout>
|
|
|
@ -1,6 +1,7 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<androidx.core.widget.NestedScrollView
|
<com.vanced.manager.ui.core.SlidingNestedScrollView
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:fillViewport="true"
|
android:fillViewport="true"
|
||||||
|
@ -9,16 +10,28 @@
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:layout_marginTop="@dimen/twelvedp"
|
android:layout_marginTop="4dp"
|
||||||
android:background="?colorSurface"
|
android:background="?colorSurface"
|
||||||
android:clipToPadding="false"
|
android:clipToPadding="false"
|
||||||
android:orientation="vertical">
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<include
|
||||||
|
android:id="@+id/home_network_wrapper"
|
||||||
|
layout="@layout/include_network_error"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="8dp"
|
||||||
|
android:layout_marginStart="@dimen/stdp"
|
||||||
|
android:layout_marginEnd="@dimen/stdp"
|
||||||
|
android:visibility="gone"
|
||||||
|
tools:visibility="visible"/>
|
||||||
|
|
||||||
<include
|
<include
|
||||||
android:id="@+id/home_vanced_wrapper"
|
android:id="@+id/home_vanced_wrapper"
|
||||||
layout="@layout/include_vanced"
|
layout="@layout/include_vanced"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="8dp"
|
||||||
android:layout_marginStart="@dimen/stdp"
|
android:layout_marginStart="@dimen/stdp"
|
||||||
android:layout_marginEnd="@dimen/stdp" />
|
android:layout_marginEnd="@dimen/stdp" />
|
||||||
|
|
||||||
|
@ -52,4 +65,4 @@
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
</androidx.core.widget.NestedScrollView>
|
</com.vanced.manager.ui.core.SlidingNestedScrollView>
|
||||||
|
|
|
@ -1,9 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<Layout
|
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:layout_width="match_parent">
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</Layout>
|
|
|
@ -2,12 +2,14 @@
|
||||||
<com.google.android.material.card.MaterialCardView
|
<com.google.android.material.card.MaterialCardView
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:layout_width="match_parent"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center"
|
android:layout_gravity="center"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
|
||||||
app:cardCornerRadius="8dp"
|
app:cardCornerRadius="8dp"
|
||||||
app:contentPadding="6dp"
|
app:contentPaddingRight="6dp"
|
||||||
|
app:contentPaddingLeft="6dp"
|
||||||
|
app:cardElevation="0dp"
|
||||||
tools:context=".ui.fragments.UpdateCheckFragment">
|
tools:context=".ui.fragments.UpdateCheckFragment">
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
|
@ -18,40 +20,52 @@
|
||||||
android:id="@+id/update_center_text"
|
android:id="@+id/update_center_text"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="Update Center"
|
android:text="@string/update_center"
|
||||||
android:textAlignment="center"
|
android:textAlignment="center"
|
||||||
android:textSize="18sp"
|
android:textSize="18sp"
|
||||||
android:fontFamily="@font/exo_semibold"
|
android:fontFamily="@font/exo_semibold"
|
||||||
|
android:textColor="?attr/colorOnSurfaceVariant"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent"/>
|
app:layout_constraintEnd_toEndOf="parent"/>
|
||||||
|
|
||||||
<androidx.core.widget.ContentLoadingProgressBar
|
<ProgressBar
|
||||||
style="@style/Widget.AppCompat.ProgressBar.Horizontal"
|
|
||||||
android:id="@+id/update_center_progressbar"
|
android:id="@+id/update_center_progressbar"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
app:layout_constraintTop_toBottomOf="@id/update_center_text"
|
app:layout_constraintTop_toBottomOf="@id/update_center_text"
|
||||||
android:progress="10"/>
|
app:layout_constraintBottom_toTopOf="@id/update_button_container"/>
|
||||||
|
|
||||||
<com.google.android.material.button.MaterialButton
|
<LinearLayout
|
||||||
style="@style/Widget.MaterialComponents.Button.OutlinedButton"
|
android:id="@+id/update_button_container"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
app:layout_constraintTop_toBottomOf="@id/update_center_progressbar"
|
app:layout_constraintTop_toBottomOf="@id/update_center_progressbar"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
android:text="Close"
|
|
||||||
android:textAllCaps="false"/>
|
|
||||||
|
|
||||||
<com.google.android.material.button.MaterialButton
|
|
||||||
style="@style/Widget.MaterialComponents.Button"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
app:layout_constraintTop_toBottomOf="@id/update_center_progressbar"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
android:text="Re-check"
|
app:layout_constraintEnd_toEndOf="parent">
|
||||||
android:textAllCaps="false"/>
|
|
||||||
|
<com.google.android.material.button.MaterialButton
|
||||||
|
android:id="@+id/update_center_dismiss"
|
||||||
|
style="@style/Widget.MaterialComponents.Button.OutlinedButton"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginEnd="4dp"
|
||||||
|
android:text="@string/close"
|
||||||
|
android:textAllCaps="false"/>
|
||||||
|
|
||||||
|
<com.google.android.material.button.MaterialButton
|
||||||
|
android:id="@+id/update_center_recheck"
|
||||||
|
style="@style/Widget.MaterialComponents.Button.UnelevatedButton"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="4dp"
|
||||||
|
android:text="@string/re_check"
|
||||||
|
android:textAllCaps="false"/>
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
|
|
|
@ -1,66 +1,82 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<com.google.android.material.card.MaterialCardView
|
<com.vanced.manager.ui.core.SlidingConstraintLayout
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="match_parent">
|
||||||
app:cardCornerRadius="@dimen/eightdp"
|
|
||||||
android:layout_marginStart="16dp"
|
|
||||||
android:layout_marginEnd="16dp"
|
|
||||||
android:layout_marginTop="12dp"
|
|
||||||
app:cardBackgroundColor="?colorSurfaceVariant"
|
|
||||||
app:cardElevation="0dp"
|
|
||||||
app:cardPreventCornerOverlap="true">
|
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<com.google.android.material.card.MaterialCardView
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent">
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_horizontal"
|
||||||
|
app:cardCornerRadius="@dimen/eightdp"
|
||||||
|
android:layout_marginStart="16dp"
|
||||||
|
android:layout_marginEnd="16dp"
|
||||||
|
android:layout_marginTop="12dp"
|
||||||
|
app:cardBackgroundColor="?colorSurfaceVariant"
|
||||||
|
app:cardElevation="0dp"
|
||||||
|
app:cardPreventCornerOverlap="true"
|
||||||
|
app:layout_constraintTop_toTopOf="parent">
|
||||||
|
|
||||||
<TextView
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
android:id="@+id/install_language_title"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="match_parent">
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
|
||||||
android:textSize="18sp"
|
|
||||||
android:textAlignment="center"
|
|
||||||
android:textColor="?attr/colorOnSurfaceVariant"
|
|
||||||
android:fontFamily="@font/exo_bold"
|
|
||||||
android:text="@string/choose_preferred_language" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/install_language_note"
|
android:id="@+id/install_language_title"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@id/install_language_title"
|
android:textSize="18sp"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
android:textAlignment="center"
|
||||||
android:layout_marginStart="8dp"
|
android:textColor="?attr/colorOnSurfaceVariant"
|
||||||
android:layout_marginEnd="8dp"
|
android:fontFamily="@font/exo_bold"
|
||||||
android:textSize="13sp"
|
android:text="@string/choose_preferred_language" />
|
||||||
android:fontFamily="@font/exo_semibold"
|
|
||||||
android:text="@string/choose_preferred_language_note" />
|
|
||||||
|
|
||||||
<FrameLayout
|
<TextView
|
||||||
android:id="@+id/language_choose_frame"
|
android:id="@+id/install_language_note"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="360dp"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginTop="4dp"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@id/install_language_note"
|
app:layout_constraintTop_toBottomOf="@id/install_language_title"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent" />
|
android:layout_marginStart="8dp"
|
||||||
|
android:layout_marginEnd="8dp"
|
||||||
|
android:textSize="13sp"
|
||||||
|
android:fontFamily="@font/exo_semibold"
|
||||||
|
android:text="@string/choose_preferred_language_note" />
|
||||||
|
|
||||||
<com.google.android.material.button.MaterialButton
|
<FrameLayout
|
||||||
android:id="@+id/vanced_install_finish"
|
android:id="@+id/language_choose_frame"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="360dp"
|
||||||
app:layout_constraintTop_toBottomOf="@id/language_choose_frame"
|
android:layout_marginEnd="2dp"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintTop_toBottomOf="@id/install_language_note"
|
||||||
android:layout_marginEnd="6dp"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
android:text="@string/finish"
|
app:layout_constraintEnd_toEndOf="parent" >
|
||||||
android:textAllCaps="false"
|
|
||||||
app:icon="@drawable/ic_done_black_24dp"
|
|
||||||
app:iconGravity="end"/>
|
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
<include
|
||||||
|
layout="@layout/include_language_scrollview"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent" />
|
||||||
|
|
||||||
</com.google.android.material.card.MaterialCardView>
|
</FrameLayout>
|
||||||
|
|
||||||
|
<com.google.android.material.button.MaterialButton
|
||||||
|
style="@style/Widget.AppCompat.Button.Borderless"
|
||||||
|
android:id="@+id/vanced_install_finish"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
app:layout_constraintTop_toBottomOf="@id/language_choose_frame"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
android:layout_marginEnd="6dp"
|
||||||
|
android:text="@string/finish"
|
||||||
|
android:textAllCaps="false"
|
||||||
|
app:icon="@drawable/ic_done_black_24dp"
|
||||||
|
app:iconGravity="end"/>
|
||||||
|
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
|
</com.google.android.material.card.MaterialCardView>
|
||||||
|
|
||||||
|
</com.vanced.manager.ui.core.SlidingConstraintLayout>
|
|
@ -1,71 +1,79 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<com.google.android.material.card.MaterialCardView
|
<com.vanced.manager.ui.core.SlidingConstraintLayout
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="match_parent">
|
||||||
app:cardCornerRadius="@dimen/eightdp"
|
|
||||||
app:cardBackgroundColor="?colorSurfaceVariant"
|
|
||||||
android:layout_marginStart="16dp"
|
|
||||||
android:layout_marginEnd="16dp"
|
|
||||||
android:layout_marginTop="12dp"
|
|
||||||
app:cardElevation="0dp"
|
|
||||||
app:cardPreventCornerOverlap="true">
|
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<com.google.android.material.card.MaterialCardView
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content">
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_horizontal"
|
||||||
|
android:layout_marginStart="16dp"
|
||||||
|
android:layout_marginEnd="16dp"
|
||||||
|
android:layout_marginTop="12dp"
|
||||||
|
app:cardElevation="0dp"
|
||||||
|
app:cardCornerRadius="@dimen/eightdp"
|
||||||
|
app:cardBackgroundColor="?colorSurfaceVariant"
|
||||||
|
app:cardPreventCornerOverlap="true"
|
||||||
|
app:layout_constraintTop_toTopOf="parent">
|
||||||
|
|
||||||
<TextView
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
android:id="@+id/install_theme_title"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content">
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
|
||||||
android:textSize="18sp"
|
|
||||||
android:textAlignment="center"
|
|
||||||
android:textColor="?attr/colorOnSurfaceVariant"
|
|
||||||
android:fontFamily="@font/exo_bold"
|
|
||||||
android:text="@string/choose_preferred_theme" />
|
|
||||||
|
|
||||||
<RadioGroup
|
<TextView
|
||||||
android:id="@+id/vanced_theme_buttons"
|
android:id="@+id/install_theme_title"
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
app:layout_constraintTop_toBottomOf="@id/install_theme_title"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
android:checkedButton="@id/button_light_dark">
|
|
||||||
|
|
||||||
<com.google.android.material.radiobutton.MaterialRadioButton
|
|
||||||
android:id="@+id/button_light_dark"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
android:textSize="18sp"
|
android:textSize="18sp"
|
||||||
android:text="Light + Dark"
|
android:textAlignment="center"
|
||||||
android:fontFamily="@font/exo_semibold"/>
|
android:textColor="?attr/colorOnSurfaceVariant"
|
||||||
|
android:fontFamily="@font/exo_bold"
|
||||||
|
android:text="@string/choose_preferred_theme" />
|
||||||
|
|
||||||
<com.google.android.material.radiobutton.MaterialRadioButton
|
<RadioGroup
|
||||||
android:id="@+id/button_light_black"
|
android:id="@+id/vanced_theme_buttons"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:textSize="18sp"
|
app:layout_constraintTop_toBottomOf="@id/install_theme_title"
|
||||||
android:fontFamily="@font/exo_semibold"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
android:text="Light + Black"/>
|
android:checkedButton="@id/button_light_dark">
|
||||||
|
|
||||||
</RadioGroup>
|
<com.google.android.material.radiobutton.MaterialRadioButton
|
||||||
|
android:id="@+id/button_light_dark"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:textSize="18sp"
|
||||||
|
android:text="@string/install_light_dark"
|
||||||
|
android:fontFamily="@font/exo_semibold"/>
|
||||||
|
|
||||||
<com.google.android.material.button.MaterialButton
|
<com.google.android.material.radiobutton.MaterialRadioButton
|
||||||
android:id="@+id/vanced_next_to_variant"
|
android:id="@+id/button_light_black"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
android:textSize="18sp"
|
||||||
app:layout_constraintTop_toBottomOf="@id/vanced_theme_buttons"
|
android:fontFamily="@font/exo_semibold"
|
||||||
android:layout_marginEnd="6dp"
|
android:text="@string/install_light_black"/>
|
||||||
android:text="@string/next"
|
|
||||||
android:textAllCaps="false"
|
|
||||||
app:icon="@drawable/ic_keyboard_next"
|
|
||||||
app:iconGravity="end"/>
|
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</RadioGroup>
|
||||||
|
|
||||||
</com.google.android.material.card.MaterialCardView>
|
<com.google.android.material.button.MaterialButton
|
||||||
|
style="@style/Widget.AppCompat.Button.Borderless"
|
||||||
|
android:id="@+id/vanced_next_to_variant"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintTop_toBottomOf="@id/vanced_theme_buttons"
|
||||||
|
android:layout_marginEnd="6dp"
|
||||||
|
android:text="@string/next"
|
||||||
|
android:textAllCaps="false"
|
||||||
|
app:icon="@drawable/ic_keyboard_next"
|
||||||
|
app:iconGravity="end"/>
|
||||||
|
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
|
</com.google.android.material.card.MaterialCardView>
|
||||||
|
|
||||||
|
</com.vanced.manager.ui.core.SlidingConstraintLayout>
|
|
@ -1,72 +1,81 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<com.google.android.material.card.MaterialCardView
|
<com.vanced.manager.ui.core.SlidingConstraintLayout
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="match_parent">
|
||||||
android:layout_marginStart="16dp"
|
|
||||||
android:layout_marginEnd="16dp"
|
|
||||||
android:layout_marginTop="12dp"
|
|
||||||
app:cardCornerRadius="@dimen/eightdp"
|
|
||||||
app:cardBackgroundColor="?colorSurfaceVariant"
|
|
||||||
app:cardElevation="0dp"
|
|
||||||
app:cardPreventCornerOverlap="true">
|
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<com.google.android.material.card.MaterialCardView
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content">
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="16dp"
|
||||||
|
android:layout_marginEnd="16dp"
|
||||||
|
android:layout_marginTop="12dp"
|
||||||
|
android:layout_gravity="center_horizontal"
|
||||||
|
app:cardCornerRadius="@dimen/eightdp"
|
||||||
|
app:cardBackgroundColor="?colorSurfaceVariant"
|
||||||
|
app:cardElevation="0dp"
|
||||||
|
app:cardPreventCornerOverlap="true"
|
||||||
|
app:layout_constraintTop_toTopOf="parent">
|
||||||
|
|
||||||
<TextView
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
android:id="@+id/install_theme_title"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content">
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
|
||||||
android:textColor="?attr/colorOnSurfaceVariant"
|
|
||||||
android:textAlignment="center"
|
|
||||||
android:textSize="18sp"
|
|
||||||
android:fontFamily="@font/exo_bold"
|
|
||||||
android:text="@string/choose_preferred_variant" />
|
|
||||||
|
|
||||||
<RadioGroup
|
<TextView
|
||||||
android:id="@+id/vanced_variant_buttons"
|
android:id="@+id/install_theme_title"
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:checkedButton="@id/button_nonroot"
|
|
||||||
app:layout_constraintTop_toBottomOf="@id/install_theme_title"
|
|
||||||
app:layout_constraintStart_toStartOf="parent">
|
|
||||||
|
|
||||||
<com.google.android.material.radiobutton.MaterialRadioButton
|
|
||||||
android:id="@+id/button_nonroot"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:fontFamily="@font/exo_semibold"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
android:text="non-root"
|
android:textColor="?attr/colorOnSurfaceVariant"
|
||||||
android:textSize="18sp" />
|
android:textAlignment="center"
|
||||||
|
|
||||||
<com.google.android.material.radiobutton.MaterialRadioButton
|
|
||||||
android:id="@+id/button_root"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:fontFamily="@font/exo_semibold"
|
|
||||||
android:textSize="18sp"
|
android:textSize="18sp"
|
||||||
android:text="root"/>
|
android:fontFamily="@font/exo_bold"
|
||||||
|
android:text="@string/choose_preferred_variant" />
|
||||||
|
|
||||||
</RadioGroup>
|
<RadioGroup
|
||||||
|
android:id="@+id/vanced_variant_buttons"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:checkedButton="@id/button_nonroot"
|
||||||
|
app:layout_constraintTop_toBottomOf="@id/install_theme_title"
|
||||||
|
app:layout_constraintStart_toStartOf="parent">
|
||||||
|
|
||||||
<com.google.android.material.button.MaterialButton
|
<com.google.android.material.radiobutton.MaterialRadioButton
|
||||||
android:id="@+id/vanced_next_to_language"
|
android:id="@+id/button_nonroot"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
android:fontFamily="@font/exo_semibold"
|
||||||
app:layout_constraintTop_toBottomOf="@id/vanced_variant_buttons"
|
android:text="@string/install_nonroot"
|
||||||
android:layout_marginEnd="6dp"
|
android:textSize="18sp" />
|
||||||
android:text="@string/next"
|
|
||||||
android:textAllCaps="false"
|
<com.google.android.material.radiobutton.MaterialRadioButton
|
||||||
app:icon="@drawable/ic_keyboard_next"
|
android:id="@+id/button_root"
|
||||||
app:iconGravity="end"/>
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:fontFamily="@font/exo_semibold"
|
||||||
|
android:textSize="18sp"
|
||||||
|
android:text="@string/install_root"/>
|
||||||
|
|
||||||
|
</RadioGroup>
|
||||||
|
|
||||||
|
<com.google.android.material.button.MaterialButton
|
||||||
|
style="@style/Widget.AppCompat.Button.Borderless"
|
||||||
|
android:id="@+id/vanced_next_to_language"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintTop_toBottomOf="@id/vanced_variant_buttons"
|
||||||
|
android:layout_marginEnd="6dp"
|
||||||
|
android:text="@string/next"
|
||||||
|
android:textAllCaps="false"
|
||||||
|
app:icon="@drawable/ic_keyboard_next"
|
||||||
|
app:iconGravity="end"/>
|
||||||
|
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
</com.google.android.material.card.MaterialCardView>
|
</com.google.android.material.card.MaterialCardView>
|
||||||
|
|
||||||
|
</com.vanced.manager.ui.core.SlidingConstraintLayout>
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
<com.google.android.material.card.MaterialCardView
|
<com.google.android.material.card.MaterialCardView
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
app:cardCornerRadius="8dp"
|
app:cardCornerRadius="8dp"
|
||||||
|
@ -10,7 +11,8 @@
|
||||||
app:cardElevation="0dp"
|
app:cardElevation="0dp"
|
||||||
app:contentPaddingRight="8dp"
|
app:contentPaddingRight="8dp"
|
||||||
app:contentPaddingLeft="8dp"
|
app:contentPaddingLeft="8dp"
|
||||||
app:contentPaddingBottom="8dp">
|
app:contentPaddingBottom="8dp"
|
||||||
|
tools:ignore="HardcodedText">
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
@ -20,8 +22,9 @@
|
||||||
android:id="@+id/about_card_vancedTeam"
|
android:id="@+id/about_card_vancedTeam"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="Manager Devs"
|
android:text="@string/manager_devs"
|
||||||
android:textSize="24sp"
|
android:textSize="24sp"
|
||||||
|
android:textColor="?attr/colorOnSurfaceVariant"
|
||||||
android:fontFamily="@font/exo_semibold"
|
android:fontFamily="@font/exo_semibold"
|
||||||
android:layout_marginTop="4dp"
|
android:layout_marginTop="4dp"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
|
|
@ -28,7 +28,7 @@
|
||||||
<TextView
|
<TextView
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="v0.3.2 alpha"
|
android:text="v1.0.0 beta"
|
||||||
android:textColor="#fff"
|
android:textColor="#fff"
|
||||||
android:textAlignment="center"
|
android:textAlignment="center"
|
||||||
android:textSize="18sp"
|
android:textSize="18sp"
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
<com.google.android.material.card.MaterialCardView
|
<com.google.android.material.card.MaterialCardView
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
app:cardBackgroundColor="?colorSurfaceVariant"
|
app:cardBackgroundColor="?colorSurfaceVariant"
|
||||||
|
@ -19,7 +20,8 @@
|
||||||
android:id="@+id/about_card_vancedTeam"
|
android:id="@+id/about_card_vancedTeam"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="Sources"
|
android:text="@string/sources"
|
||||||
|
android:textColor="?attr/colorOnSurfaceVariant"
|
||||||
android:textSize="24sp"
|
android:textSize="24sp"
|
||||||
android:fontFamily="@font/exo_semibold"
|
android:fontFamily="@font/exo_semibold"
|
||||||
android:layout_marginTop="2dp"
|
android:layout_marginTop="2dp"
|
||||||
|
@ -59,24 +61,27 @@
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintEnd_toStartOf="@id/about_license_button"
|
app:layout_constraintEnd_toStartOf="@id/about_license_button"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:icon="@drawable/github"
|
app:icon="@drawable/github"
|
||||||
app:iconGravity="textStart"
|
app:iconGravity="textStart"
|
||||||
app:iconPadding="0dp"/>
|
app:iconPadding="0dp"/>
|
||||||
|
|
||||||
<com.google.android.material.button.MaterialButton
|
<com.google.android.material.button.MaterialButton
|
||||||
|
tools:ignore="HardcodedText"
|
||||||
android:id="@+id/about_license_button"
|
android:id="@+id/about_license_button"
|
||||||
style="@style/Widget.AppCompat.Button.Borderless"
|
style="@style/Widget.AppCompat.Button.Borderless"
|
||||||
android:layout_marginStart="16dp"
|
android:layout_marginStart="16dp"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
android:text="GPL"
|
||||||
|
android:textSize="21sp"
|
||||||
|
android:fontFamily="@font/exo_semibold"
|
||||||
android:background="@android:color/transparent"
|
android:background="@android:color/transparent"
|
||||||
android:backgroundTint="@android:color/transparent"
|
android:backgroundTint="@android:color/transparent"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
app:layout_constraintStart_toEndOf="@id/about_github_button"
|
app:layout_constraintStart_toEndOf="@id/about_github_button"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:icon="@drawable/ic_assignment_black_24dp"
|
app:layout_constraintBottom_toBottomOf="parent"/>
|
||||||
app:iconGravity="textStart"
|
|
||||||
app:iconPadding="0dp"/>
|
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
<com.google.android.material.card.MaterialCardView
|
<com.google.android.material.card.MaterialCardView
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
app:cardCornerRadius="8dp"
|
app:cardCornerRadius="8dp"
|
||||||
|
@ -10,7 +11,8 @@
|
||||||
app:cardElevation="0dp"
|
app:cardElevation="0dp"
|
||||||
app:contentPaddingRight="8dp"
|
app:contentPaddingRight="8dp"
|
||||||
app:contentPaddingLeft="8dp"
|
app:contentPaddingLeft="8dp"
|
||||||
app:contentPaddingBottom="8dp">
|
app:contentPaddingBottom="8dp"
|
||||||
|
tools:ignore="HardcodedText">
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
@ -20,8 +22,9 @@
|
||||||
android:id="@+id/about_card_vancedTeam"
|
android:id="@+id/about_card_vancedTeam"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="Vanced Team"
|
android:text="@string/vanced_team"
|
||||||
android:textSize="24sp"
|
android:textSize="24sp"
|
||||||
|
android:textColor="?attr/colorOnSurfaceVariant"
|
||||||
android:fontFamily="@font/exo_semibold"
|
android:fontFamily="@font/exo_semibold"
|
||||||
android:layout_marginTop="4dp"
|
android:layout_marginTop="4dp"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
@ -56,7 +59,7 @@
|
||||||
<TextView
|
<TextView
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="- Laura Almeida (waman)"
|
android:text="- Laura Almeida"
|
||||||
android:textSize="18sp" />
|
android:textSize="18sp" />
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
|
@ -89,7 +89,7 @@
|
||||||
<com.google.android.material.button.MaterialButton
|
<com.google.android.material.button.MaterialButton
|
||||||
android:id="@+id/microg_installbtn"
|
android:id="@+id/microg_installbtn"
|
||||||
style="@style/Widget.AppCompat.Button.Borderless.Colored"
|
style="@style/Widget.AppCompat.Button.Borderless.Colored"
|
||||||
android:layout_width="117dp"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="40dp"
|
android:layout_height="40dp"
|
||||||
android:fontFamily="@font/exo_semibold"
|
android:fontFamily="@font/exo_semibold"
|
||||||
android:text="@string/install"
|
android:text="@string/install"
|
||||||
|
@ -98,9 +98,9 @@
|
||||||
app:icon="@drawable/outline_cloud_download_24"
|
app:icon="@drawable/outline_cloud_download_24"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintHorizontal_bias="1.0"
|
app:layout_constraintHorizontal_bias="1.0"
|
||||||
app:layout_constraintStart_toEndOf="@+id/microg_title"
|
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
app:layout_constraintBottom_toTopOf="@id/microg_uninstallbtn"/>
|
app:layout_constraintBottom_toTopOf="@id/microg_uninstallbtn"
|
||||||
|
android:scrollbars="none"/>
|
||||||
|
|
||||||
<com.google.android.material.button.MaterialButton
|
<com.google.android.material.button.MaterialButton
|
||||||
android:id="@+id/microg_settingsbtn"
|
android:id="@+id/microg_settingsbtn"
|
||||||
|
@ -108,29 +108,30 @@
|
||||||
android:layout_width="30dp"
|
android:layout_width="30dp"
|
||||||
android:layout_height="40dp"
|
android:layout_height="40dp"
|
||||||
android:layout_marginEnd="8dp"
|
android:layout_marginEnd="8dp"
|
||||||
android:layout_marginBottom="8dp"
|
|
||||||
android:fontFamily="@font/exo_semibold"
|
android:fontFamily="@font/exo_semibold"
|
||||||
app:backgroundTint="?colorPrimary"
|
app:backgroundTint="?colorPrimary"
|
||||||
app:icon="@drawable/ic_settings_black_24dp"
|
app:icon="@drawable/ic_settings_black_24dp"
|
||||||
app:iconGravity="textStart"
|
app:iconGravity="textStart"
|
||||||
app:iconPadding="0dp"
|
app:iconPadding="0dp"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toStartOf="@id/microg_installbtn"/>
|
app:layout_constraintEnd_toStartOf="@id/microg_uninstallbtn"
|
||||||
|
android:scrollbars="none"/>
|
||||||
|
|
||||||
<com.google.android.material.button.MaterialButton
|
<com.google.android.material.button.MaterialButton
|
||||||
android:id="@+id/microg_uninstallbtn"
|
android:id="@+id/microg_uninstallbtn"
|
||||||
style="@style/Widget.AppCompat.Button.Borderless.Colored"
|
style="@style/Widget.AppCompat.Button.Borderless.Colored"
|
||||||
android:layout_width="117dp"
|
android:layout_width="30dp"
|
||||||
android:layout_height="40dp"
|
android:layout_height="40dp"
|
||||||
android:fontFamily="@font/exo_semibold"
|
android:fontFamily="@font/exo_semibold"
|
||||||
android:text="@string/uninstall"
|
|
||||||
app:iconPadding="0dp"
|
app:iconPadding="0dp"
|
||||||
android:textAllCaps="false"
|
android:textAllCaps="false"
|
||||||
app:backgroundTint="?attr/colorError"
|
app:backgroundTint="?attr/colorError"
|
||||||
app:icon="@drawable/ic_delete_black_24dp"
|
app:icon="@drawable/ic_delete_black_24dp"
|
||||||
|
app:iconGravity="textStart"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@id/microg_installbtn"/>
|
app:layout_constraintTop_toBottomOf="@id/microg_installbtn"
|
||||||
|
android:scrollbars="none"/>
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,34 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<com.google.android.material.card.MaterialCardView
|
||||||
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
app:cardCornerRadius="@dimen/eightdp"
|
||||||
|
app:cardBackgroundColor="?colorSurfaceVariant"
|
||||||
|
app:cardElevation="0dp"
|
||||||
|
app:cardPreventCornerOverlap="true"
|
||||||
|
app:contentPaddingRight="8dp"
|
||||||
|
app:contentPaddingLeft="8dp">
|
||||||
|
|
||||||
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/network_errortxt"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
android:text="@string/network_error"
|
||||||
|
android:fontFamily="@font/exo_semibold"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
android:textColor="?attr/colorError"
|
||||||
|
android:textSize="18sp"
|
||||||
|
android:gravity="center" />
|
||||||
|
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
|
</com.google.android.material.card.MaterialCardView>
|
|
@ -90,7 +90,7 @@
|
||||||
android:id="@+id/vanced_installbtn"
|
android:id="@+id/vanced_installbtn"
|
||||||
style="@style/Widget.AppCompat.Button.Borderless.Colored"
|
style="@style/Widget.AppCompat.Button.Borderless.Colored"
|
||||||
app:backgroundTint="?colorPrimary"
|
app:backgroundTint="?colorPrimary"
|
||||||
android:layout_width="117dp"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="40dp"
|
android:layout_height="40dp"
|
||||||
android:text="@string/install"
|
android:text="@string/install"
|
||||||
android:textAllCaps="false"
|
android:textAllCaps="false"
|
||||||
|
@ -99,22 +99,24 @@
|
||||||
app:layout_constraintBottom_toTopOf="@id/vanced_uninstallbtn"
|
app:layout_constraintBottom_toTopOf="@id/vanced_uninstallbtn"
|
||||||
app:layout_constraintHorizontal_bias="1.0"
|
app:layout_constraintHorizontal_bias="1.0"
|
||||||
android:fontFamily="@font/exo_semibold"
|
android:fontFamily="@font/exo_semibold"
|
||||||
app:icon="@drawable/outline_cloud_download_24"/>
|
app:icon="@drawable/outline_cloud_download_24"
|
||||||
|
android:scrollbars="none"/>
|
||||||
|
|
||||||
<com.google.android.material.button.MaterialButton
|
<com.google.android.material.button.MaterialButton
|
||||||
android:id="@+id/vanced_uninstallbtn"
|
android:id="@+id/vanced_uninstallbtn"
|
||||||
style="@style/Widget.AppCompat.Button.Borderless.Colored"
|
style="@style/Widget.AppCompat.Button.Borderless.Colored"
|
||||||
android:layout_width="117dp"
|
android:layout_width="30dp"
|
||||||
android:layout_height="40dp"
|
android:layout_height="40dp"
|
||||||
android:fontFamily="@font/exo_semibold"
|
android:fontFamily="@font/exo_semibold"
|
||||||
android:text="@string/uninstall"
|
|
||||||
app:iconPadding="0dp"
|
app:iconPadding="0dp"
|
||||||
android:textAllCaps="false"
|
android:textAllCaps="false"
|
||||||
app:backgroundTint="?attr/colorError"
|
app:backgroundTint="?attr/colorError"
|
||||||
app:icon="@drawable/ic_delete_black_24dp"
|
app:icon="@drawable/ic_delete_black_24dp"
|
||||||
|
app:iconGravity="textStart"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@id/vanced_installbtn"/>
|
app:layout_constraintTop_toBottomOf="@id/vanced_installbtn"
|
||||||
|
android:scrollbars="none"/>
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
|
|
|
@ -7,9 +7,7 @@
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="@dimen/eightdp"
|
android:layout_marginStart="@dimen/eightdp"
|
||||||
android:layout_marginEnd="@dimen/eightdp"
|
android:layout_marginEnd="@dimen/eightdp"
|
||||||
android:paddingTop="@dimen/eightdp"
|
|
||||||
app:cardBackgroundColor="#6958D0"
|
app:cardBackgroundColor="#6958D0"
|
||||||
android:paddingBottom="2dp"
|
|
||||||
app:cardCornerRadius="@dimen/eightdp"
|
app:cardCornerRadius="@dimen/eightdp"
|
||||||
app:cardElevation="0dp">
|
app:cardElevation="0dp">
|
||||||
|
|
||||||
|
|
|
@ -3,9 +3,15 @@
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||||
|
|
||||||
<item
|
<item
|
||||||
android:id="@+id/about"
|
android:id="@+id/toolbar_settings"
|
||||||
|
android:title="@string/title_about"
|
||||||
|
android:icon="@drawable/ic_settings_black_24dp"
|
||||||
|
app:showAsAction="ifRoom" />
|
||||||
|
|
||||||
|
<item
|
||||||
|
android:id="@+id/toolbar_about"
|
||||||
android:title="@string/title_about"
|
android:title="@string/title_about"
|
||||||
android:icon="@drawable/ic_info_black_24dp"
|
android:icon="@drawable/ic_info_black_24dp"
|
||||||
app:showAsAction="always" />
|
app:showAsAction="ifRoom" />
|
||||||
|
|
||||||
</menu>
|
</menu>
|
|
@ -12,13 +12,21 @@
|
||||||
android:label="@string/title_home"
|
android:label="@string/title_home"
|
||||||
tools:layout="@layout/fragment_home">
|
tools:layout="@layout/fragment_home">
|
||||||
|
|
||||||
|
<action
|
||||||
|
android:id="@+id/action_settingsFragment"
|
||||||
|
app:destination="@id/settings_fragment"
|
||||||
|
app:enterAnim="@animator/fragment_enter"
|
||||||
|
app:exitAnim="@animator/fragment_exit"
|
||||||
|
app:popEnterAnim="@animator/fragment_enter_pop"
|
||||||
|
app:popExitAnim="@animator/fragment_exit_pop" />
|
||||||
|
|
||||||
<action
|
<action
|
||||||
android:id="@+id/toAboutFragment"
|
android:id="@+id/toAboutFragment"
|
||||||
app:destination="@id/about_fragment"
|
app:destination="@id/about_fragment"
|
||||||
app:enterAnim="@anim/nav_default_enter_anim"
|
app:enterAnim="@animator/fragment_enter"
|
||||||
app:exitAnim="@anim/nav_default_exit_anim"
|
app:exitAnim="@animator/fragment_exit"
|
||||||
app:popEnterAnim="@anim/nav_default_pop_enter_anim"
|
app:popEnterAnim="@animator/fragment_enter_pop"
|
||||||
app:popExitAnim="@anim/nav_default_pop_exit_anim" />
|
app:popExitAnim="@animator/fragment_exit_pop" />
|
||||||
|
|
||||||
<action
|
<action
|
||||||
android:id="@+id/toInstallThemeFragment"
|
android:id="@+id/toInstallThemeFragment"
|
||||||
|
@ -38,10 +46,12 @@
|
||||||
<action
|
<action
|
||||||
android:id="@+id/toSecretSettingsFragment"
|
android:id="@+id/toSecretSettingsFragment"
|
||||||
app:destination="@id/secret_settings_fragment"
|
app:destination="@id/secret_settings_fragment"
|
||||||
app:enterAnim="@anim/fragment_fade_enter"
|
app:enterAnim="@animator/fragment_enter"
|
||||||
app:exitAnim="@anim/fragment_fade_exit"
|
app:exitAnim="@animator/fragment_exit"
|
||||||
app:popEnterAnim="@anim/nav_default_pop_enter_anim"
|
app:popEnterAnim="@animator/fragment_enter_pop"
|
||||||
app:popExitAnim="@anim/nav_default_pop_exit_anim" />
|
app:popExitAnim="@animator/fragment_exit_pop" />
|
||||||
|
|
||||||
|
<deepLink app:uri="vncdmngr://open_settings_fragment" />
|
||||||
|
|
||||||
</fragment>
|
</fragment>
|
||||||
|
|
||||||
|
@ -65,6 +75,8 @@
|
||||||
app:popEnterAnim="@animator/fragment_enter_left"
|
app:popEnterAnim="@animator/fragment_enter_left"
|
||||||
app:popExitAnim="@animator/fragment_exit_right" />
|
app:popExitAnim="@animator/fragment_exit_right" />
|
||||||
|
|
||||||
|
<deepLink app:uri="vncdmngr://open_install_fragment" />
|
||||||
|
|
||||||
</fragment>
|
</fragment>
|
||||||
|
|
||||||
<fragment
|
<fragment
|
||||||
|
@ -104,27 +116,16 @@
|
||||||
<fragment
|
<fragment
|
||||||
android:id="@+id/secret_settings_fragment"
|
android:id="@+id/secret_settings_fragment"
|
||||||
android:name="com.vanced.manager.ui.fragments.SecretSettingsFragment"
|
android:name="com.vanced.manager.ui.fragments.SecretSettingsFragment"
|
||||||
android:label="@string/title_install" />
|
android:label="Secret Settings" />
|
||||||
|
|
||||||
<action
|
|
||||||
android:id="@+id/action_settingsFragment"
|
|
||||||
app:destination="@id/settings_fragment"
|
|
||||||
app:enterAnim="@anim/nav_default_enter_anim"
|
|
||||||
app:exitAnim="@anim/nav_default_exit_anim"
|
|
||||||
app:popEnterAnim="@anim/nav_default_pop_enter_anim"
|
|
||||||
app:popExitAnim="@anim/nav_default_pop_exit_anim"
|
|
||||||
app:popUpTo="@id/settings_fragment"
|
|
||||||
app:popUpToInclusive="true"/>
|
|
||||||
|
|
||||||
<action
|
<action
|
||||||
android:id="@+id/action_homeFragment"
|
android:id="@+id/action_homeFragment"
|
||||||
app:destination="@id/home_fragment"
|
app:destination="@id/home_fragment"
|
||||||
app:enterAnim="@anim/nav_default_enter_anim"
|
app:enterAnim="@animator/fragment_enter"
|
||||||
app:exitAnim="@anim/nav_default_exit_anim"
|
app:exitAnim="@animator/fragment_exit"
|
||||||
app:popEnterAnim="@anim/nav_default_pop_enter_anim"
|
app:popEnterAnim="@animator/fragment_enter_pop"
|
||||||
app:popExitAnim="@anim/nav_default_pop_exit_anim"
|
app:popExitAnim="@animator/fragment_exit_pop"
|
||||||
app:popUpTo="@id/home_fragment"
|
app:popUpTo="@id/home_fragment"
|
||||||
app:popUpToInclusive="true"/>
|
app:popUpToInclusive="true" />
|
||||||
|
|
||||||
|
</navigation>
|
||||||
</navigation>
|
|
|
@ -0,0 +1,61 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<resources>
|
||||||
|
|
||||||
|
<!-- Global Strings -->
|
||||||
|
<string name="close">დახურვა</string>
|
||||||
|
<string name="security_context">გთხოვთ დარწმუნდით რომ აპი გადმოწერეთ vanced.app-იდან, Vanced Discord სერვერიდან ან GitHub-იდან</string>
|
||||||
|
<string name="unsupported_version_context">არ ვიცი როგორ მაგრამ თქვენ როგორღაც დააყენეთ Vanced Manager-ი ძველ Android-ის ვერსიაზე. აპი დაიხურება</string>
|
||||||
|
<string name="welcome">მოგესალმებით</string>
|
||||||
|
<string name="whoops">უფს!</string>
|
||||||
|
|
||||||
|
<!-- Main Activity -->
|
||||||
|
<string name="title_about">შესახებ</string>
|
||||||
|
<string name="title_home">საწყისი</string>
|
||||||
|
<string name="title_install">ინსტალაცია</string>
|
||||||
|
<string name="title_settings">პარამეტრები</string>
|
||||||
|
|
||||||
|
<!-- Home Page -->
|
||||||
|
<string name="brave_browser">Brave Browser</string>
|
||||||
|
<string name="changelogs">ცვლილებები</string>
|
||||||
|
<string name="install">ინსტალაცია</string>
|
||||||
|
<string name="installed">დაინსტალირებული:</string>
|
||||||
|
<string name="latest">უახლესი:</string>
|
||||||
|
<string name="n_a">N/A</string>
|
||||||
|
<string name="network_error">კავშირი არ არის</string>
|
||||||
|
<string name="reddit">Reddit</string>
|
||||||
|
<string name="update">განახლება</string>
|
||||||
|
<string name="useful_links">საჭირო ლინკები</string>
|
||||||
|
<string name="vanced_medias">Vanced სოციალურ ქსელებზე</string>
|
||||||
|
<string name="website">Website</string>
|
||||||
|
<string name="website_text">Vanced-ის ოფიციალური ვებსაიტი</string>
|
||||||
|
<string name="support_us">დაგვიჭირეთ მხარი Brave-ის გადმოწერით</string>
|
||||||
|
|
||||||
|
<!-- Settings -->
|
||||||
|
<string name="check_updates">განახლებების შემოწმება</string>
|
||||||
|
<string name="category_interface">ინტერფეისი</string>
|
||||||
|
<string name="category_manager">მენეჯერი</string>
|
||||||
|
<string name="theme">თემა</string>
|
||||||
|
<string name="theme_summary">აირჩიეთ სასურველი თემა</string>
|
||||||
|
<string name="push_notifications">შეტყობინებები</string>
|
||||||
|
<string name="push_notifications_summary">მიიღეთ შეტყობინება როდესაც განახლება გამოვა</string>
|
||||||
|
<string name="re_check">გადამოწმება</string>
|
||||||
|
<string name="update_center">განახლების ცენტრი</string>
|
||||||
|
|
||||||
|
<!-- Install Page -->
|
||||||
|
<string name="choose_preferred_language">აირჩიეთ სასურველი ენა Vanced-ისთვის</string>
|
||||||
|
<string name="choose_preferred_language_note">შენიშვნა: თუ თქვენ აირჩევთ სხვა ენას გარდა ინგლისურისა, ინგლისური მაინც იქნება დაყენებული როგორც დამატებითი ენა</string>
|
||||||
|
<string name="choose_preferred_theme">აირჩიეთ სასურველი თემა Vanced-ისთვის</string>
|
||||||
|
<string name="choose_preferred_variant">აირჩიეთ სასურველი ვარიანტი Vanced-სთვის</string>
|
||||||
|
<string name="finish">დასრულება</string>
|
||||||
|
<string name="install_light_black">ღია + შავი</string>
|
||||||
|
<string name="install_light_dark">ღია + მუქი</string>
|
||||||
|
<string name="install_nonroot">Non-root</string>
|
||||||
|
<string name="install_root">Root</string>
|
||||||
|
<string name="next">შემდეგი</string>
|
||||||
|
|
||||||
|
<!-- About Page -->
|
||||||
|
<string name="manager_devs">Manager-ის დეველოპერები</string>
|
||||||
|
<string name="sources">წყაროები</string>
|
||||||
|
<string name="vanced_team">Vanced-ის გუნდი</string>
|
||||||
|
|
||||||
|
</resources>
|
|
@ -22,6 +22,7 @@
|
||||||
<item name="colorDisabledVariant">#66808080</item>
|
<item name="colorDisabledVariant">#66808080</item>
|
||||||
<item name="iconColor">?colorPrimaryVariant</item>
|
<item name="iconColor">?colorPrimaryVariant</item>
|
||||||
<item name="toolbarIconColor">?colorOnPrimary</item>
|
<item name="toolbarIconColor">?colorOnPrimary</item>
|
||||||
|
<item name="DialogBG">#111111</item>
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
|
|
@ -14,15 +14,27 @@
|
||||||
</string-array>
|
</string-array>
|
||||||
|
|
||||||
<string-array name="languages">
|
<string-array name="languages">
|
||||||
<item>Coming soon(tm)</item>
|
<item>English</item>
|
||||||
|
<item>ქართული</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
|
|
||||||
<string-array name="languages_value">
|
<string-array name="languages_value">
|
||||||
<item>0</item>
|
<item>en</item>
|
||||||
|
<item>ka</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
|
|
||||||
<string-array name="accent_color">
|
<string-array name="accent_color">
|
||||||
<item>NaN</item>
|
<item>NaN</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
|
|
||||||
|
<string-array name="syke">
|
||||||
|
<item>SYKE</item>
|
||||||
|
</string-array>
|
||||||
|
|
||||||
|
<string-array name="yomama">
|
||||||
|
<item>Yo</item>
|
||||||
|
<item>mama</item>
|
||||||
|
<item>fat</item>
|
||||||
|
</string-array>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
|
@ -9,5 +9,6 @@
|
||||||
<attr name="colorSurfaceSurfaceVariant" format="color" />
|
<attr name="colorSurfaceSurfaceVariant" format="color" />
|
||||||
<attr name="iconColor" format="reference|color" />
|
<attr name="iconColor" format="reference|color" />
|
||||||
<attr name="toolbarIconColor" format="reference|color"/>
|
<attr name="toolbarIconColor" format="reference|color"/>
|
||||||
|
<attr name="DialogBG" format="reference|color" />
|
||||||
|
|
||||||
</resources>
|
</resources>
|
|
@ -11,5 +11,6 @@
|
||||||
<color name="GitHub">#17191A</color>
|
<color name="GitHub">#17191A</color>
|
||||||
|
|
||||||
<color name="Black">#000000</color>
|
<color name="Black">#000000</color>
|
||||||
|
<color name="White">#ffffff</color>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -7,5 +7,7 @@
|
||||||
<string name="twitter" translatable="false">Twitter</string>
|
<string name="twitter" translatable="false">Twitter</string>
|
||||||
<string name="vanced" translatable="false">Vanced</string>
|
<string name="vanced" translatable="false">Vanced</string>
|
||||||
<string name="microg" translatable="false">MicroG</string>
|
<string name="microg" translatable="false">MicroG</string>
|
||||||
|
<string name="shortcut_settings" translatable="false">Settings</string>
|
||||||
|
<string name="shortcut_install" translatable="false">Install</string>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
|
@ -1,24 +1,28 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
<resources>
|
<resources>
|
||||||
|
|
||||||
|
<!-- Global Strings -->
|
||||||
|
<string name="close">Close</string>
|
||||||
|
<string name="security_context">Please make sure you downloaded app from vanced.app, Vanced Discord server or GitHub</string>
|
||||||
|
<string name="unsupported_version_context">I don\'t know how but you probably installed Vanced Manager on unsupported Android version. The app will now close</string>
|
||||||
|
<string name="welcome">Welcome</string>
|
||||||
|
<string name="whoops">Whoops!</string>
|
||||||
|
|
||||||
<!-- Main Activity -->
|
<!-- Main Activity -->
|
||||||
<string name="title_about">About</string>
|
<string name="title_about">About</string>
|
||||||
<string name="title_home">Home</string>
|
<string name="title_home">Home</string>
|
||||||
|
<string name="title_install">Install</string>
|
||||||
<string name="title_settings">Settings</string>
|
<string name="title_settings">Settings</string>
|
||||||
|
|
||||||
<!-- Home Page -->
|
<!-- Home Page -->
|
||||||
<string name="brave_browser">Brave Browser</string>
|
<string name="brave_browser">Brave Browser</string>
|
||||||
<string name="changelogs">Changelogs</string>
|
<string name="changelogs">Changelogs</string>
|
||||||
<string name="github_bot">Bot</string>
|
|
||||||
<string name="github_manager">Manager</string>
|
|
||||||
<string name="github_projects">GitHub projects</string>
|
|
||||||
<string name="github_website">Website</string>
|
|
||||||
<string name="install">Install</string>
|
<string name="install">Install</string>
|
||||||
<string name="installed">Installed:</string>
|
<string name="installed">Installed:</string>
|
||||||
<string name="latest">Latest:</string>
|
<string name="latest">Latest:</string>
|
||||||
<string name="n_a">N/A</string>
|
<string name="n_a">N/A</string>
|
||||||
|
<string name="network_error">Network connection unavailable</string>
|
||||||
<string name="reddit">Reddit</string>
|
<string name="reddit">Reddit</string>
|
||||||
<string name="uninstall">Uninstall</string>
|
|
||||||
<string name="update">Update</string>
|
<string name="update">Update</string>
|
||||||
<string name="useful_links">Useful Links</string>
|
<string name="useful_links">Useful Links</string>
|
||||||
<string name="vanced_medias">Vanced on Social Media</string>
|
<string name="vanced_medias">Vanced on Social Media</string>
|
||||||
|
@ -32,11 +36,10 @@
|
||||||
<string name="category_manager">Manager</string>
|
<string name="category_manager">Manager</string>
|
||||||
<string name="theme">Theme</string>
|
<string name="theme">Theme</string>
|
||||||
<string name="theme_summary">Choose your preferred theme</string>
|
<string name="theme_summary">Choose your preferred theme</string>
|
||||||
<string name="language">Language</string>
|
|
||||||
<string name="language_summary">Choose your preferred language</string>
|
|
||||||
<string name="push_notifications">Push Notifications</string>
|
<string name="push_notifications">Push Notifications</string>
|
||||||
<string name="push_notifications_summary">Receive push notifications when update is released</string>
|
<string name="push_notifications_summary">Receive push notifications when update is released</string>
|
||||||
|
<string name="re_check">Re-check</string>
|
||||||
|
<string name="update_center">Update Center</string>
|
||||||
|
|
||||||
<!-- Install Page -->
|
<!-- Install Page -->
|
||||||
<string name="choose_preferred_language">Choose your preferred language for Vanced</string>
|
<string name="choose_preferred_language">Choose your preferred language for Vanced</string>
|
||||||
|
@ -44,8 +47,15 @@
|
||||||
<string name="choose_preferred_theme">Choose your preferred theme for Vanced</string>
|
<string name="choose_preferred_theme">Choose your preferred theme for Vanced</string>
|
||||||
<string name="choose_preferred_variant">Choose your preferred variant for Vanced</string>
|
<string name="choose_preferred_variant">Choose your preferred variant for Vanced</string>
|
||||||
<string name="finish">Finish</string>
|
<string name="finish">Finish</string>
|
||||||
|
<string name="install_light_black">Light + Black</string>
|
||||||
|
<string name="install_light_dark">Light + Dark</string>
|
||||||
|
<string name="install_nonroot">Non-root</string>
|
||||||
|
<string name="install_root">Root</string>
|
||||||
<string name="next">Next</string>
|
<string name="next">Next</string>
|
||||||
<string name="title_install">Install</string>
|
|
||||||
|
|
||||||
|
<!-- About Page -->
|
||||||
|
<string name="manager_devs">Manager Devs</string>
|
||||||
|
<string name="sources">Sources</string>
|
||||||
|
<string name="vanced_team">Vanced Team</string>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
|
@ -19,4 +19,19 @@
|
||||||
<item name="android:statusBarColor">#000000</item>
|
<item name="android:statusBarColor">#000000</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
<style name="DialogTheme" parent="@style/Theme.MaterialComponents.Dialog.Alert">
|
||||||
|
<item name="cornerFamily">rounded</item>
|
||||||
|
<item name="cornerSize">8dp</item>
|
||||||
|
<item name="android:textColor">?colorOnSurfaceVariant</item>
|
||||||
|
<item name="android:textColorPrimary">?colorOnSurfaceVariant</item>
|
||||||
|
<item name="colorSurface">?DialogBG</item>
|
||||||
|
<item name="android:buttonBarPositiveButtonStyle">@style/DialogPositiveButton</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<style name="DialogPositiveButton" parent="Widget.MaterialComponents.Button.TextButton">
|
||||||
|
<item name="android:textColor">?colorPrimary</item>
|
||||||
|
<item name="textAllCaps">false</item>
|
||||||
|
<item name="backgroundTint">@android:color/transparent</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -22,6 +22,7 @@
|
||||||
<item name="colorDisabledVariant">#000000</item>
|
<item name="colorDisabledVariant">#000000</item>
|
||||||
<item name="iconColor">?colorPrimaryVariant</item>
|
<item name="iconColor">?colorPrimaryVariant</item>
|
||||||
<item name="toolbarIconColor">#111111</item>
|
<item name="toolbarIconColor">#111111</item>
|
||||||
|
<item name="DialogBG">#ffffff</item>
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,32 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<shortcuts xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
|
||||||
|
<shortcut
|
||||||
|
android:enabled="true"
|
||||||
|
android:shortcutId="settings"
|
||||||
|
android:icon="@drawable/ic_shortcut_settings_black_24dp"
|
||||||
|
android:shortcutShortLabel="@string/title_settings">
|
||||||
|
|
||||||
|
<intent
|
||||||
|
android:action="com.vanced.manager.OPEN_SETTINGS"
|
||||||
|
android:targetClass="com.vanced.manager.ui.MainActivity"
|
||||||
|
android:targetPackage="com.vanced.manager"
|
||||||
|
android:data="vncdmngr://open_settings_fragment"/>
|
||||||
|
|
||||||
|
</shortcut>
|
||||||
|
|
||||||
|
<shortcut
|
||||||
|
android:enabled="true"
|
||||||
|
android:shortcutId="install"
|
||||||
|
android:icon="@drawable/shortcut_cloud_download_24"
|
||||||
|
android:shortcutShortLabel="@string/title_install">
|
||||||
|
|
||||||
|
<intent
|
||||||
|
android:action="com.vanced.manager.OPEN_INSTALL"
|
||||||
|
android:targetClass="com.vanced.manager.ui.MainActivity"
|
||||||
|
android:targetPackage="com.vanced.manager"
|
||||||
|
android:data="vncdmngr://open_install_fragment"/>
|
||||||
|
|
||||||
|
</shortcut>
|
||||||
|
|
||||||
|
</shortcuts>
|
|
@ -15,28 +15,12 @@
|
||||||
<ListPreference
|
<ListPreference
|
||||||
android:icon="@drawable/ic_brush_black_24dp"
|
android:icon="@drawable/ic_brush_black_24dp"
|
||||||
android:key="theme_mode"
|
android:key="theme_mode"
|
||||||
android:title="Theme"
|
android:title="@string/theme"
|
||||||
android:summary="@string/theme_summary"
|
android:summary="@string/theme_summary"
|
||||||
android:entries="@array/theme_modes"
|
android:entries="@array/theme_modes"
|
||||||
android:entryValues="@array/theme_modes_values"
|
android:entryValues="@array/theme_modes_values"
|
||||||
android:defaultValue="LIGHT"/>
|
android:defaultValue="LIGHT"/>
|
||||||
|
|
||||||
<ListPreference
|
|
||||||
android:icon="@drawable/ic_palette_black_24dp"
|
|
||||||
android:key="accent_color"
|
|
||||||
android:title="Accent Color"
|
|
||||||
app:isPreferenceVisible="false"
|
|
||||||
android:entries="@array/accent_color"
|
|
||||||
android:entryValues="@array/accent_color"/>
|
|
||||||
|
|
||||||
<ListPreference
|
|
||||||
android:key="language"
|
|
||||||
android:icon="@drawable/ic_language_black_24dp"
|
|
||||||
android:title="@string/language"
|
|
||||||
android:summary="@string/language_summary"
|
|
||||||
android:entries="@array/languages"
|
|
||||||
android:entryValues="@array/languages_value"/>
|
|
||||||
|
|
||||||
</PreferenceCategory>
|
</PreferenceCategory>
|
||||||
|
|
||||||
<PreferenceCategory
|
<PreferenceCategory
|
||||||
|
|
|
@ -0,0 +1,33 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<PreferenceScreen
|
||||||
|
xmlns:android="http://schemas.android.com/apk/res/android" >
|
||||||
|
|
||||||
|
<SwitchPreference
|
||||||
|
android:key="ss_switch"
|
||||||
|
android:title="Useless Switch"
|
||||||
|
android:summaryOff="This switch does nothing"
|
||||||
|
android:summaryOn="You're just wasting your time"/>
|
||||||
|
|
||||||
|
<CheckBoxPreference
|
||||||
|
android:key="ss_checkbox"
|
||||||
|
android:title="Useless Checkbox"
|
||||||
|
android:summaryOff="This doesn't do anything either"
|
||||||
|
android:summaryOn="Dude just stop" />
|
||||||
|
|
||||||
|
<DropDownPreference
|
||||||
|
android:key="ss_syke"
|
||||||
|
android:title="Ok this one is quite useful"
|
||||||
|
android:entries="@array/syke"
|
||||||
|
android:entryValues="@array/syke" />
|
||||||
|
|
||||||
|
<SeekBarPreference
|
||||||
|
android:key="ss_speed"
|
||||||
|
android:title="Vanced Manager Speed Controller" />
|
||||||
|
|
||||||
|
<ListPreference
|
||||||
|
android:key="ss_yomama"
|
||||||
|
android:title="This one is cool"
|
||||||
|
android:entries="@array/yomama"
|
||||||
|
android:entryValues="@array/yomama" />
|
||||||
|
|
||||||
|
</PreferenceScreen>
|
|
@ -1,14 +1,14 @@
|
||||||
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
||||||
|
|
||||||
buildscript {
|
buildscript {
|
||||||
ext.kotlin_version = '1.3.61'
|
ext.kotlin_version = '1.3.72'
|
||||||
repositories {
|
repositories {
|
||||||
google()
|
google()
|
||||||
jcenter()
|
jcenter()
|
||||||
|
|
||||||
}
|
}
|
||||||
dependencies {
|
dependencies {
|
||||||
classpath 'com.android.tools.build:gradle:3.6.1'
|
classpath 'com.android.tools.build:gradle:3.6.3'
|
||||||
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
|
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
|
||||||
|
|
||||||
// NOTE: Do not place your application dependencies here; they belong
|
// NOTE: Do not place your application dependencies here; they belong
|
||||||
|
|
|
@ -19,3 +19,4 @@ android.useAndroidX=true
|
||||||
android.enableJetifier=true
|
android.enableJetifier=true
|
||||||
# Kotlin code style for this project: "official" or "obsolete":
|
# Kotlin code style for this project: "official" or "obsolete":
|
||||||
kotlin.code.style=official
|
kotlin.code.style=official
|
||||||
|
org.gradle.configureondemand=true
|
||||||
|
|
|
@ -1,8 +0,0 @@
|
||||||
## This file must *NOT* be checked into Version Control Systems,
|
|
||||||
# as it contains information specific to your local configuration.
|
|
||||||
#
|
|
||||||
# Location of the SDK. This is only used by Gradle.
|
|
||||||
# For customization when using a Version Control System, please read the
|
|
||||||
# header note.
|
|
||||||
#Wed Mar 18 20:50:18 EET 2020
|
|
||||||
sdk.dir=/home/hope/Android/Sdk
|
|
Loading…
Reference in New Issue