Skip to content
This repository has been archived by the owner on Mar 15, 2022. It is now read-only.

Commit

Permalink
Merge pull request #173 from YTVanced/dev
Browse files Browse the repository at this point in the history
1.3.0 release
  • Loading branch information
KevinX8 committed Sep 27, 2020
2 parents 3126260 + 45fc925 commit 8c7bec1
Show file tree
Hide file tree
Showing 128 changed files with 4,164 additions and 2,717 deletions.
7 changes: 1 addition & 6 deletions .github/workflows/debug.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,6 @@ jobs:
with:
java-version: 1.8

- name: Write firebase config to file
run: echo $FIREBASE_CONFIG > app/google-services.json
env:
FIREBASE_CONFIG: ${{ secrets.FIREBASE_CONFIG }}

- name: Grant rights
run: chmod +x ./gradlew

Expand All @@ -36,4 +31,4 @@ jobs:
uses: actions/upload-artifact@v2
with:
name: 'Manager'
path: app/build/outputs/apk/debug/app-debug.apk
path: app/build/outputs/apk/debug/app-debug.apk
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@
build/
out/
app/src/main/java/com/vanced/manager/core/base/DummyJava.java
app/google-services.json
app/build/
app/release
local.properties
/.github/
*.iml
17 changes: 11 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,23 +5,28 @@ For anyone who wants to provide translations please submit them to https://trans
[![Github All Releases](https://img.shields.io/github/downloads/YTVanced/VancedManager/total.svg)]() [![Github All Releases](https://img.shields.io/github/release/YTVanced/VancedManager.svg)]()
# Vanced Manager
Hi, when we released Vanced 15.05.54, people were upset because it used the .apks format, which was way harder to install than a traditional .apk file. Even though we wrote clear instructions on how to install the new Vanced build, people still couldn't figure it out.
Then we thought, "why don't we make a manager for vanced, which will download, update and uninstall Vanced and MicroG, have an easy and understandable UI and be less than 5mb?" and that's how Vanced Manager was born.
Then we thought, "why don't we make a manager for vanced, which will download, update and uninstall Vanced and MicroG, have an easy and understandable UI and be less than 10mb?" and that's how Vanced Manager was born.

After 3 months of development, we are finally ready to introduce Vanced Manager to the masses. Vanced manager can easily install and uninstall vanced and microg, has various settings for customisation and better experience. The Manager comes with an easy-to-use interface, support for background download and installation*
##### *Due to changes in Android Oreo and up, and because of aggressive battery optimisations in some ROMs, feature may not be available for all devices.
After 3 months of development, we are finally ready to introduce Vanced Manager to the masses. Vanced manager can easily install and uninstall vanced and microg, has various settings for customisation and better experience. The Manager comes with an easy-to-use interface

##### Background download/installation feature is no longer supported due to problems with some ROMs, please do NOT report problems regarding background activity.

## Vanced Developers
- xfileFIN
- KevinX8
- Zanezam
- Laura Almeida

## Vanced Manager Developer
## Vanced Manager Developers
- Xinto (X1nto)
- Koopah (ostajic)

## Contributors
- AioiLight

## Credits
- topjohnwu for his wonderful [LibSU](https://github.com/topjohnwu/libsu)
- Mindorks for their amazing [PRDownloader](https://github.com/MindorksOpenSource/PRDownloader)
- aefyr for [SAI](https://github.com/aefyr/SAI), which was an inspiration for our Manager
- kittinunf for the [Fuel](https://github.com/kittinunf/Fuel) library
- cbeust for the [klaxon](https://github.com/cbeust/klaxon) library
- kittinunf for [Fuel](https://github.com/kittinunf/Fuel) HTTP client
- cbeust for [klaxon](https://github.com/cbeust/klaxon) JSON parser
14 changes: 11 additions & 3 deletions READMEME.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ No one really thought there would be problems with this format, because installa
## 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
# Vanced Manager
Ladies and gentlemen, I'm very proud to introduce the new **Vancad Manger 1.0.0™** (typo is intentional)
Ladies and gentlemen, I'm very proud to introduce the new **Vancad Manger 1.2.0™** (typo is intentional)
Vanced Manager is an universal utility for installing/updating Vanced and MicroG. It will push notifications once the update is ready (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 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).

Expand All @@ -21,16 +21,21 @@ Isn't this lovely and beautiful?

- 1337Potato: shit
- Response: Yes

===================

- Noobbot: The app is not useful because I have YT Premium. Thank you bye
- Response: I hope you get sucked by a di-
- Response: I hope you get sucked by a di-

===================

- Vortextriangle: The app is so useful that I uninstalled it after installing Vanced
- Response: yo that's finna woke

## Credits
### Vanced Manager developers
- X1nto (UI, UX, Downloader, Installer, Signature Checker, PussiSlayer69, Collector of 400 BAT, Professional Liar)
- X1nto (UI, UX, Downloader, Installer, Signature Checker, PussiSlayer69, Collector of 400 BAT, A great liar)
- Koopah (Unix lord, Unmounter of /system, Code criticizer)
### The Vanced Team
- xfileFIN
![xfileFIN](https://i.imgur.com/hLdzTVq.png)
Expand All @@ -40,3 +45,6 @@ Isn't this lovely and beautiful?
![Zanezam](https://i.imgur.com/QVcXA6q.png)
- Laura Almeida
![Laura Almeida](https://i.imgur.com/ovVD939.png)

###### If someone is reading this pls help me, KevinX8 is bullying me and forces me to develop manager. please send bobs and veganas and call 911

66 changes: 59 additions & 7 deletions app/build.gradle
Original file line number Diff line number Diff line change
@@ -1,23 +1,32 @@
import java.util.regex.Matcher
import java.util.regex.Pattern

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'
apply plugin: 'com.google.gms.google-services'
apply plugin: 'com.google.firebase.firebase-perf'
apply plugin: 'com.google.firebase.crashlytics'
apply plugin: 'androidx.navigation.safeargs.kotlin'

ext.langs = getLanguages()

android {
compileSdkVersion 30
buildToolsVersion "30.0.1"
buildToolsVersion "30.0.2"

defaultConfig {
applicationId "com.vanced.manager"
minSdkVersion 21
targetSdkVersion 30
versionCode 12
versionName "1.2.0 (Niko)"
versionCode 13
versionName "1.3.0b (Arcturus)"

vectorDrawables.useSupportLibrary = true

buildConfigField "String[]", "MANAGER_LANGUAGES", "{" + surroundWithQuotes(langs) + "}"
buildConfigField "String[]", "MANAGER_LANGUAGE_NAMES", "{" + surroundWithQuotes(getLanguageNames()) + "}"
}

lintOptions {
Expand Down Expand Up @@ -56,17 +65,58 @@ android {

}

def getLanguages() {
List<String> langs = new ArrayList<String>()
langs.add("en")
Pattern pattern = Pattern.compile("-(\\w+)-")
new File("${projectDir}/src/main/res").eachDir { dir ->
if (dir.name.startsWith("values-") && !dir.name.contains("v23")) {
Matcher matcher = pattern.matcher(dir.name)
if (matcher.find()) {
if (langs.contains(matcher.group(1)))
langs.add(matcher.group(1) + "_${dir.name.substring(dir.name.length() - 2)}")
else
langs.add(matcher.group(1))
}
}
}
return langs.toArray()
}

def getLanguageNames() {
List<String> langnames = new ArrayList<String>()
for (int i = 0; i < langs.size(); i++) {
if (langs[i].length() > 2) {
Locale loc = new Locale(langs[i].substring(0, langs[i].length() - 3), langs[i].substring(langs[i].length() - 2))
project.logger.lifecycle(loc.getDisplayLanguage(loc).capitalize() + " (" + loc.getDisplayCountry(loc).capitalize() + ")")
langnames.add(loc.getDisplayLanguage(loc).capitalize() + " (" + loc.getDisplayCountry(loc).capitalize() + ")")
} else {
Locale loc = new Locale(langs[i])
project.logger.lifecycle(loc.getDisplayLanguage(loc).capitalize())
langnames.add(loc.getDisplayLanguage(loc).capitalize())
}
}
return langnames.toArray()
}

def surroundWithQuotes(Object[] arr) {
String[] dummyArr = arr
for (int i = 0; i < arr.length; i++) {
dummyArr[i] = "\"" + arr[i] + "\""
}
return dummyArr.join(", ")
}

dependencies {

// Kotlin
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
implementation "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"

// AndroidX
implementation 'androidx.activity:activity:1.1.0'
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'androidx.browser:browser:1.2.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation 'androidx.constraintlayout:constraintlayout:2.0.1'
implementation 'androidx.core:core-ktx:1.3.1'
implementation 'androidx.fragment:fragment-ktx:1.2.5'
implementation 'androidx.lifecycle:lifecycle-livedata-core-ktx:2.2.0'
Expand All @@ -84,11 +134,13 @@ dependencies {
implementation 'com.github.kittinunf.fuel:fuel:2.2.3'
implementation 'com.github.kittinunf.fuel:fuel-coroutines:2.2.3'
implementation 'com.github.kittinunf.fuel:fuel-json:2.2.3'
implementation 'com.squareup.okhttp3:logging-interceptor:4.8.1'
implementation 'com.github.topjohnwu.libsu:core:3.0.1'
implementation 'com.github.topjohnwu.libsu:io:3.0.1'
implementation 'com.google.firebase:firebase-messaging:20.2.4'
implementation 'com.google.firebase:firebase-perf:19.0.8'
implementation 'com.mindorks.android:prdownloader:0.6.0'
implementation 'com.google.firebase:firebase-analytics-ktx:17.4.4'
implementation 'com.google.firebase:firebase-crashlytics:17.1.1'
implementation 'com.google.firebase:firebase-analytics-ktx:17.5.0'
implementation 'com.google.firebase:firebase-crashlytics:17.2.1'

}
40 changes: 40 additions & 0 deletions app/google-services.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
{
"project_info": {
"project_number": "840099702732",
"firebase_url": "https://vanced-manager-official.firebaseio.com",
"project_id": "vanced-manager-official",
"storage_bucket": "vanced-manager-official.appspot.com"
},
"client": [
{
"client_info": {
"mobilesdk_app_id": "1:840099702732:android:ca65567b49f622bc359f69",
"android_client_info": {
"package_name": "com.vanced.manager"
}
},
"oauth_client": [
{
"client_id": "840099702732-4fjjofq6on2bpd7jb6f96bk0mkrjkkf6.apps.googleusercontent.com",
"client_type": 3
}
],
"api_key": [
{
"current_key": "AIzaSyAPI1RUaoCHmmWz9-TLvTKYPYs0ZVKkS2U"
}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": [
{
"client_id": "840099702732-4fjjofq6on2bpd7jb6f96bk0mkrjkkf6.apps.googleusercontent.com",
"client_type": 3
}
]
}
}
}
],
"configuration_version": "1"
}
1 change: 1 addition & 0 deletions app/proguard-rules.pro
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
#}

-keep class com.vanced.manager.core.App
-keepnames class androidx.navigation.fragment.NavHostFragment

# Uncomment this to preserve the line number information for
# debugging stack traces.
Expand Down
17 changes: 10 additions & 7 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,17 @@
xmlns:tools="http://schemas.android.com/tools"
package="com.vanced.manager">

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.REQUEST_DELETE_PACKAGES" />
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
<uses-permission android:name="android.permission.INTERNET" />

<queries>
<package android:name="com.vanced.android.youtube" />
<package android:name="com.google.android.youtube" />
<package android:name="com.vanced.android.apps.youtube.music" />
<package android:name="com.mgoogle.android.gms" />
</queries>

<application
android:name=".core.App"
Expand Down Expand Up @@ -37,7 +44,8 @@
<activity
android:name=".ui.MainActivity"
android:label="@string/app_name"
android:theme="@style/DarkTheme.Blue"/>
android:theme="@style/DarkTheme.Blue"
android:exported="true"/>

<meta-data
android:name="preloaded_fonts"
Expand Down Expand Up @@ -70,14 +78,9 @@
android:resource="@drawable/ic_stat_name" />

<service android:name=".core.installer.SplitInstallerService" />
<service android:name=".core.installer.RootSplitInstallerService" />
<service android:name=".core.installer.SplitInstaller" />
<service android:name=".core.installer.AppUninstallerService" />
<service android:name=".core.installer.AppInstallerService" />
<service android:name=".core.installer.AppInstaller" />
<service android:name=".core.downloader.VancedDownloadService" />
<service android:name=".core.downloader.MicrogDownloadService" />

</application>

</manifest>
</manifest>
38 changes: 38 additions & 0 deletions app/src/main/java/com/vanced/manager/adapter/ChangelogAdapter.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
package com.vanced.manager.adapter

import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import com.vanced.manager.R
import com.vanced.manager.ui.viewmodels.HomeViewModel

class ChangelogAdapter(private val variant: String, viewModel: HomeViewModel?): RecyclerView.Adapter<ChangelogAdapter.ChangelogViewHolder>() {

private val nonrootChangelogs = arrayOf(viewModel?.vanced?.get()?.changelog?.get(), viewModel?.music?.get()?.changelog?.get(), viewModel?.microg?.get()?.changelog?.get(), viewModel?.manager?.get()?.changelog?.get())
private val rootChangelogs = arrayOf(viewModel?.vanced?.get()?.changelog?.get(), viewModel?.manager?.get()?.changelog?.get())

override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ChangelogViewHolder {
val layoutInflater = LayoutInflater.from(parent.context)
val view = layoutInflater.inflate(R.layout.view_changelog, parent, false)

return ChangelogViewHolder(view)
}

override fun getItemCount(): Int = if (variant == "root") 2 else 4

override fun onBindViewHolder(holder: ChangelogViewHolder, position: Int) {
holder.changelog.text =
if (variant == "root")
rootChangelogs[position]
else
nonrootChangelogs[position]

}

open class ChangelogViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
val changelog: TextView = itemView.findViewById(R.id.changelog_text)
}

}
22 changes: 0 additions & 22 deletions app/src/main/java/com/vanced/manager/adapter/SectionPageAdapter.kt

This file was deleted.

This file was deleted.

Loading

0 comments on commit 8c7bec1

Please sign in to comment.