Commit 14e49f3c authored by Viktor De Pasquale's avatar Viktor De Pasquale

Added redesign base

... also basic switching to redesign was added, haha
parent cc8f1adc
...@@ -22,6 +22,10 @@ ...@@ -22,6 +22,10 @@
android:name="a.b" android:name="a.b"
android:configChanges="orientation|screenSize" android:configChanges="orientation|screenSize"
android:exported="true" /> android:exported="true" />
<activity
android:name="a.i"
android:exported="true"
android:theme="@style/Foundation.Default" />
<activity <activity
android:name="a.c" android:name="a.c"
android:configChanges="orientation|screenSize" android:configChanges="orientation|screenSize"
......
package a;
import com.topjohnwu.magisk.redesign.MainActivity;
public class i extends MainActivity {
/* stub */
}
...@@ -7,6 +7,7 @@ import com.topjohnwu.magisk.ui.MainActivity ...@@ -7,6 +7,7 @@ import com.topjohnwu.magisk.ui.MainActivity
import com.topjohnwu.magisk.ui.SplashActivity import com.topjohnwu.magisk.ui.SplashActivity
import com.topjohnwu.magisk.ui.flash.FlashActivity import com.topjohnwu.magisk.ui.flash.FlashActivity
import com.topjohnwu.magisk.ui.surequest.SuRequestActivity import com.topjohnwu.magisk.ui.surequest.SuRequestActivity
import com.topjohnwu.magisk.redesign.MainActivity as RedesignActivity
object ClassMap { object ClassMap {
private val map = mapOf( private val map = mapOf(
...@@ -17,7 +18,9 @@ object ClassMap { ...@@ -17,7 +18,9 @@ object ClassMap {
UpdateCheckService::class.java to a.g::class.java, UpdateCheckService::class.java to a.g::class.java,
GeneralReceiver::class.java to a.h::class.java, GeneralReceiver::class.java to a.h::class.java,
DownloadService::class.java to a.j::class.java, DownloadService::class.java to a.j::class.java,
SuRequestActivity::class.java to a.m::class.java SuRequestActivity::class.java to a.m::class.java,
//redesign
RedesignActivity::class.java to a.i::class.java
) )
operator fun <T : Class<*>>get(c: Class<*>): T { operator fun <T : Class<*>>get(c: Class<*>): T {
......
...@@ -48,6 +48,7 @@ object Config : PreferenceModel, DBConfig { ...@@ -48,6 +48,7 @@ object Config : PreferenceModel, DBConfig {
const val REPO_ORDER = "repo_order" const val REPO_ORDER = "repo_order"
const val SHOW_SYSTEM_APP = "show_system" const val SHOW_SYSTEM_APP = "show_system"
const val DOWNLOAD_PATH = "download_path" const val DOWNLOAD_PATH = "download_path"
const val REDESIGN = "redesign"
// system state // system state
const val MAGISKHIDE = "magiskhide" const val MAGISKHIDE = "magiskhide"
...@@ -108,6 +109,7 @@ object Config : PreferenceModel, DBConfig { ...@@ -108,6 +109,7 @@ object Config : PreferenceModel, DBConfig {
var suNotification by preferenceStrInt(Key.SU_NOTIFICATION, Value.NOTIFICATION_TOAST) var suNotification by preferenceStrInt(Key.SU_NOTIFICATION, Value.NOTIFICATION_TOAST)
var updateChannel by preferenceStrInt(Key.UPDATE_CHANNEL, defaultChannel) var updateChannel by preferenceStrInt(Key.UPDATE_CHANNEL, defaultChannel)
var redesign by preference(Key.REDESIGN, false)
var darkTheme by preference(Key.DARK_THEME, true) var darkTheme by preference(Key.DARK_THEME, true)
var suReAuth by preference(Key.SU_REAUTH, false) var suReAuth by preference(Key.SU_REAUTH, false)
var checkUpdate by preference(Key.CHECK_UPDATES, true) var checkUpdate by preference(Key.CHECK_UPDATES, true)
......
...@@ -11,6 +11,7 @@ import com.topjohnwu.magisk.ui.superuser.SuperuserViewModel ...@@ -11,6 +11,7 @@ import com.topjohnwu.magisk.ui.superuser.SuperuserViewModel
import com.topjohnwu.magisk.ui.surequest.SuRequestViewModel import com.topjohnwu.magisk.ui.surequest.SuRequestViewModel
import org.koin.androidx.viewmodel.dsl.viewModel import org.koin.androidx.viewmodel.dsl.viewModel
import org.koin.dsl.module import org.koin.dsl.module
import com.topjohnwu.magisk.redesign.MainViewModel as RedesignViewModel
val viewModelModules = module { val viewModelModules = module {
...@@ -24,4 +25,8 @@ val viewModelModules = module { ...@@ -24,4 +25,8 @@ val viewModelModules = module {
FlashViewModel(action, file, additional, get()) FlashViewModel(action, file, additional, get())
} }
viewModel { SuRequestViewModel(get(), get(), get(SUTimeout), get()) } viewModel { SuRequestViewModel(get(), get(), get(SUTimeout), get()) }
// redesign
viewModel { RedesignViewModel() }
} }
package com.topjohnwu.magisk.model.navigation package com.topjohnwu.magisk.model.navigation
import android.content.Context
import android.content.Intent
import com.topjohnwu.magisk.ClassMap
import com.topjohnwu.magisk.Config
import com.topjohnwu.magisk.Const
import com.topjohnwu.magisk.ui.MainActivity
import com.topjohnwu.magisk.ui.hide.MagiskHideFragment import com.topjohnwu.magisk.ui.hide.MagiskHideFragment
import com.topjohnwu.magisk.ui.home.HomeFragment import com.topjohnwu.magisk.ui.home.HomeFragment
import com.topjohnwu.magisk.ui.log.LogFragment import com.topjohnwu.magisk.ui.log.LogFragment
...@@ -7,7 +13,7 @@ import com.topjohnwu.magisk.ui.module.ModulesFragment ...@@ -7,7 +13,7 @@ import com.topjohnwu.magisk.ui.module.ModulesFragment
import com.topjohnwu.magisk.ui.module.ReposFragment import com.topjohnwu.magisk.ui.module.ReposFragment
import com.topjohnwu.magisk.ui.settings.SettingsFragment import com.topjohnwu.magisk.ui.settings.SettingsFragment
import com.topjohnwu.magisk.ui.superuser.SuperuserFragment import com.topjohnwu.magisk.ui.superuser.SuperuserFragment
import com.topjohnwu.magisk.redesign.MainActivity as RedesignActivity
object Navigation { object Navigation {
...@@ -50,6 +56,17 @@ object Navigation { ...@@ -50,6 +56,17 @@ object Navigation {
else -> home() else -> home()
} }
// redesign starts here
fun start(launchIntent: Intent, context: Context) {
val destination = when {
Config.redesign -> RedesignActivity::class.java
else -> MainActivity::class.java
}
val intent = Intent(context, ClassMap[destination])
intent.putExtra(Const.Key.OPEN_SECTION, launchIntent.getStringExtra(Const.Key.OPEN_SECTION))
context.startActivity(intent)
}
object Main { object Main {
const val OPEN_NAV = 1 const val OPEN_NAV = 1
......
package com.topjohnwu.magisk.redesign
import com.topjohnwu.magisk.R
import com.topjohnwu.magisk.databinding.ActivityMainMd2Binding
import com.topjohnwu.magisk.ui.base.MagiskActivity
import org.koin.androidx.viewmodel.ext.android.viewModel
open class MainActivity : MagiskActivity<MainViewModel, ActivityMainMd2Binding>() {
override val layoutRes = R.layout.activity_main_md2
override val viewModel by viewModel<MainViewModel>()
}
\ No newline at end of file
package com.topjohnwu.magisk.redesign
import com.topjohnwu.magisk.ui.base.MagiskViewModel
class MainViewModel : MagiskViewModel()
\ No newline at end of file
package com.topjohnwu.magisk.ui package com.topjohnwu.magisk.ui
import android.content.Intent
import android.os.Bundle import android.os.Bundle
import android.text.TextUtils import android.text.TextUtils
import androidx.appcompat.app.AlertDialog import androidx.appcompat.app.AlertDialog
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import com.topjohnwu.magisk.* import com.topjohnwu.magisk.*
import com.topjohnwu.magisk.model.navigation.Navigation
import com.topjohnwu.magisk.utils.Utils import com.topjohnwu.magisk.utils.Utils
import com.topjohnwu.magisk.view.Notifications import com.topjohnwu.magisk.view.Notifications
import com.topjohnwu.magisk.view.Shortcuts import com.topjohnwu.magisk.view.Shortcuts
...@@ -56,10 +56,8 @@ open class SplashActivity : AppCompatActivity() { ...@@ -56,10 +56,8 @@ open class SplashActivity : AppCompatActivity() {
// Setup shortcuts // Setup shortcuts
Shortcuts.setup(this) Shortcuts.setup(this)
val intent = Intent(this, ClassMap[MainActivity::class.java])
intent.putExtra(Const.Key.OPEN_SECTION, getIntent().getStringExtra(Const.Key.OPEN_SECTION))
DONE = true DONE = true
startActivity(intent) Navigation.start(intent, this)
finish() finish()
} }
......
...@@ -57,6 +57,8 @@ class SettingsFragment : BasePreferenceFragment() { ...@@ -57,6 +57,8 @@ class SettingsFragment : BasePreferenceFragment() {
preferenceManager.setStorageDeviceProtected() preferenceManager.setStorageDeviceProtected()
setPreferencesFromResource(R.xml.app_settings, rootKey) setPreferencesFromResource(R.xml.app_settings, rootKey)
findPreference<PreferenceCategory>("redesign_cat")?.isVisible = BuildConfig.DEBUG
updateChannel = findPreference(Config.Key.UPDATE_CHANNEL)!! updateChannel = findPreference(Config.Key.UPDATE_CHANNEL)!!
rootConfig = findPreference(Config.Key.ROOT_ACCESS)!! rootConfig = findPreference(Config.Key.ROOT_ACCESS)!!
autoRes = findPreference(Config.Key.SU_AUTO_RESPONSE)!! autoRes = findPreference(Config.Key.SU_AUTO_RESPONSE)!!
...@@ -227,26 +229,26 @@ class SettingsFragment : BasePreferenceFragment() { ...@@ -227,26 +229,26 @@ class SettingsFragment : BasePreferenceFragment() {
private fun setLocalePreference(lp: ListPreference) { private fun setLocalePreference(lp: ListPreference) {
lp.isEnabled = false lp.isEnabled = false
availableLocales.map { availableLocales.map {
val names = mutableListOf<String>() val names = mutableListOf<String>()
val values = mutableListOf<String>() val values = mutableListOf<String>()
names.add(
LocaleManager.getString(defaultLocale, R.string.system_default)
)
values.add("")
it.forEach { locale -> names.add(
names.add(locale.getDisplayName(locale)) LocaleManager.getString(defaultLocale, R.string.system_default)
values.add(locale.toLangTag()) )
} values.add("")
Pair(names.toTypedArray(), values.toTypedArray()) it.forEach { locale ->
}.subscribeK { (names, values) -> names.add(locale.getDisplayName(locale))
lp.isEnabled = true values.add(locale.toLangTag())
lp.entries = names
lp.entryValues = values
lp.summary = currentLocale.getDisplayName(currentLocale)
} }
Pair(names.toTypedArray(), values.toTypedArray())
}.subscribeK { (names, values) ->
lp.isEnabled = true
lp.entries = names
lp.entryValues = values
lp.summary = currentLocale.getDisplayName(currentLocale)
}
} }
private fun setSummary(key: String) { private fun setSummary(key: String) {
......
This diff is collapsed.
This diff is collapsed.
...@@ -45,33 +45,35 @@ ...@@ -45,33 +45,35 @@
<!--///--> <!--///-->
<item name="appearanceTextDisplayNormal">@style/AppearanceFoundation.Display</> <item name="appearanceTextDisplayNormal">@style/AppearanceFoundation.Display</item>
<item name="appearanceTextDisplayVariant">@style/AppearanceFoundation.Display.Variant</> <item name="appearanceTextDisplayVariant">@style/AppearanceFoundation.Display.Variant</item>
<item name="appearanceTextDisplayOnPrimary">@style/AppearanceFoundation.Display.OnPrimary</> <item name="appearanceTextDisplayOnPrimary">@style/AppearanceFoundation.Display.OnPrimary
</item>
<item name="appearanceTextDisplayOnPrimaryVariant"> <item name="appearanceTextDisplayOnPrimaryVariant">
@style/AppearanceFoundation.Display.OnPrimary.Variant @style/AppearanceFoundation.Display.OnPrimary.Variant
</> </item>
<item name="appearanceTextTitleNormal">@style/AppearanceFoundation.Title</> <item name="appearanceTextTitleNormal">@style/AppearanceFoundation.Title</item>
<item name="appearanceTextTitleVariant">@style/AppearanceFoundation.Title.Variant</> <item name="appearanceTextTitleVariant">@style/AppearanceFoundation.Title.Variant</item>
<item name="appearanceTextTitleOnPrimary">@style/AppearanceFoundation.Title.OnPrimary</> <item name="appearanceTextTitleOnPrimary">@style/AppearanceFoundation.Title.OnPrimary</item>
<item name="appearanceTextTitleOnPrimaryVariant"> <item name="appearanceTextTitleOnPrimaryVariant">
@style/AppearanceFoundation.Title.OnPrimary.Variant @style/AppearanceFoundation.Title.OnPrimary.Variant
</> </item>
<item name="appearanceTextBodyNormal">@style/AppearanceFoundation.Body</> <item name="appearanceTextBodyNormal">@style/AppearanceFoundation.Body</item>
<item name="appearanceTextBodyVariant">@style/AppearanceFoundation.Body.Variant</> <item name="appearanceTextBodyVariant">@style/AppearanceFoundation.Body.Variant</item>
<item name="appearanceTextBodyOnPrimary">@style/AppearanceFoundation.Body.OnPrimary</> <item name="appearanceTextBodyOnPrimary">@style/AppearanceFoundation.Body.OnPrimary</item>
<item name="appearanceTextBodyOnPrimaryVariant"> <item name="appearanceTextBodyOnPrimaryVariant">
@style/AppearanceFoundation.Body.OnPrimary.Variant @style/AppearanceFoundation.Body.OnPrimary.Variant
</> </item>
<item name="appearanceTextCaptionNormal">@style/AppearanceFoundation.Caption</> <item name="appearanceTextCaptionNormal">@style/AppearanceFoundation.Caption</item>
<item name="appearanceTextCaptionVariant">@style/AppearanceFoundation.Caption.Variant</> <item name="appearanceTextCaptionVariant">@style/AppearanceFoundation.Caption.Variant</item>
<item name="appearanceTextCaptionOnPrimary">@style/AppearanceFoundation.Caption.OnPrimary</> <item name="appearanceTextCaptionOnPrimary">@style/AppearanceFoundation.Caption.OnPrimary
</item>
<item name="appearanceTextCaptionOnPrimaryVariant"> <item name="appearanceTextCaptionOnPrimaryVariant">
@style/AppearanceFoundation.Caption.OnPrimary.Variant @style/AppearanceFoundation.Caption.OnPrimary.Variant
</> </item>
</style> </style>
<style name="Foundation.Default" parent="Foundation.Base"> <style name="Foundation.Default" parent="Foundation.Base">
......
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> <androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<PreferenceCategory <PreferenceCategory
android:key="general" android:key="general"
android:title="@string/settings_general_category"> android:title="@string/settings_general_category">
...@@ -131,4 +132,15 @@ ...@@ -131,4 +132,15 @@
</PreferenceCategory> </PreferenceCategory>
<PreferenceCategory
android:key="redesign_cat"
app:title="Redesign">
<SwitchPreferenceCompat
android:defaultValue="false"
android:key="redesign"
app:title="Enable Redesign" />
</PreferenceCategory>
</androidx.preference.PreferenceScreen> </androidx.preference.PreferenceScreen>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment