Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
M
Magisk
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
Magisk
Commits
7c319f5f
Commit
7c319f5f
authored
Aug 19, 2020
by
topjohnwu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Moar refactoring
parent
1fcf35eb
Show whitespace changes
Inline
Side-by-side
Showing
22 changed files
with
89 additions
and
120 deletions
+89
-120
BaseViewModel.kt
app/src/main/java/com/topjohnwu/magisk/arch/BaseViewModel.kt
+2
-6
Const.kt
app/src/main/java/com/topjohnwu/magisk/core/Const.kt
+6
-0
GeneralReceiver.kt
...rc/main/java/com/topjohnwu/magisk/core/GeneralReceiver.kt
+2
-2
SplashActivity.kt
...src/main/java/com/topjohnwu/magisk/core/SplashActivity.kt
+14
-2
Configuration.kt
.../java/com/topjohnwu/magisk/core/download/Configuration.kt
+1
-1
DownloadService.kt
...ava/com/topjohnwu/magisk/core/download/DownloadService.kt
+3
-4
DownloadSubject.kt
...ava/com/topjohnwu/magisk/core/download/DownloadSubject.kt
+1
-1
ManagerUpgrade.kt
...java/com/topjohnwu/magisk/core/download/ManagerUpgrade.kt
+2
-3
RemoteFileService.kt
...a/com/topjohnwu/magisk/core/download/RemoteFileService.kt
+2
-3
ViewEvents.kt
app/src/main/java/com/topjohnwu/magisk/events/ViewEvents.kt
+12
-4
EnvFixDialog.kt
...n/java/com/topjohnwu/magisk/events/dialog/EnvFixDialog.kt
+2
-2
ManagerInstallDialog.kt
...om/topjohnwu/magisk/events/dialog/ManagerInstallDialog.kt
+2
-2
ModuleInstallDialog.kt
...com/topjohnwu/magisk/events/dialog/ModuleInstallDialog.kt
+2
-2
UninstallDialog.kt
...ava/com/topjohnwu/magisk/events/dialog/UninstallDialog.kt
+2
-2
Navigation.kt
.../java/com/topjohnwu/magisk/model/navigation/Navigation.kt
+0
-30
NavigationWrapper.kt
...om/topjohnwu/magisk/model/navigation/NavigationWrapper.kt
+0
-18
MainActivity.kt
app/src/main/java/com/topjohnwu/magisk/ui/MainActivity.kt
+24
-26
HomeViewModel.kt
...c/main/java/com/topjohnwu/magisk/ui/home/HomeViewModel.kt
+1
-1
InstallViewModel.kt
.../java/com/topjohnwu/magisk/ui/install/InstallViewModel.kt
+2
-2
ModuleViewModel.kt
...in/java/com/topjohnwu/magisk/ui/module/ModuleViewModel.kt
+1
-1
SettingsViewModel.kt
...ava/com/topjohnwu/magisk/ui/settings/SettingsViewModel.kt
+2
-2
Shortcuts.kt
app/src/main/java/com/topjohnwu/magisk/view/Shortcuts.kt
+6
-6
No files found.
app/src/main/java/com/topjohnwu/magisk/arch/BaseViewModel.kt
View file @
7c319f5f
...
@@ -15,11 +15,7 @@ import com.topjohnwu.magisk.BR
...
@@ -15,11 +15,7 @@ import com.topjohnwu.magisk.BR
import
com.topjohnwu.magisk.R
import
com.topjohnwu.magisk.R
import
com.topjohnwu.magisk.core.Info
import
com.topjohnwu.magisk.core.Info
import
com.topjohnwu.magisk.core.base.BaseActivity
import
com.topjohnwu.magisk.core.base.BaseActivity
import
com.topjohnwu.magisk.events.BackPressEvent
import
com.topjohnwu.magisk.events.*
import
com.topjohnwu.magisk.events.PermissionEvent
import
com.topjohnwu.magisk.events.SnackbarEvent
import
com.topjohnwu.magisk.events.ViewActionEvent
import
com.topjohnwu.magisk.model.navigation.NavigationWrapper
import
com.topjohnwu.magisk.utils.ObservableHost
import
com.topjohnwu.magisk.utils.ObservableHost
import
com.topjohnwu.magisk.utils.set
import
com.topjohnwu.magisk.utils.set
import
kotlinx.coroutines.Job
import
kotlinx.coroutines.Job
...
@@ -111,7 +107,7 @@ abstract class BaseViewModel(
...
@@ -111,7 +107,7 @@ abstract class BaseViewModel(
}
}
fun
NavDirections
.
publish
()
{
fun
NavDirections
.
publish
()
{
_viewEvents
.
postValue
(
Navigation
Wrapper
(
this
))
_viewEvents
.
postValue
(
Navigation
Event
(
this
))
}
}
}
}
app/src/main/java/com/topjohnwu/magisk/core/Const.kt
View file @
7c319f5f
...
@@ -82,4 +82,10 @@ object Const {
...
@@ -82,4 +82,10 @@ object Const {
const
val
UNINSTALL
=
"uninstall"
const
val
UNINSTALL
=
"uninstall"
}
}
object
Nav
{
const
val
SETTINGS
=
"settings"
const
val
HIDE
=
"hide"
const
val
MODULES
=
"modules"
const
val
SUPERUSER
=
"superuser"
}
}
}
app/src/main/java/com/topjohnwu/magisk/core/GeneralReceiver.kt
View file @
7c319f5f
...
@@ -3,13 +3,13 @@ package com.topjohnwu.magisk.core
...
@@ -3,13 +3,13 @@ package com.topjohnwu.magisk.core
import
android.content.ContextWrapper
import
android.content.ContextWrapper
import
android.content.Intent
import
android.content.Intent
import
com.topjohnwu.magisk.core.base.BaseReceiver
import
com.topjohnwu.magisk.core.base.BaseReceiver
import
com.topjohnwu.magisk.core.download.Configuration
import
com.topjohnwu.magisk.core.download.DownloadService
import
com.topjohnwu.magisk.core.download.DownloadService
import
com.topjohnwu.magisk.core.download.DownloadSubject
import
com.topjohnwu.magisk.core.magiskdb.PolicyDao
import
com.topjohnwu.magisk.core.magiskdb.PolicyDao
import
com.topjohnwu.magisk.core.model.ManagerJson
import
com.topjohnwu.magisk.core.model.ManagerJson
import
com.topjohnwu.magisk.core.su.SuCallbackHandler
import
com.topjohnwu.magisk.core.su.SuCallbackHandler
import
com.topjohnwu.magisk.ktx.reboot
import
com.topjohnwu.magisk.ktx.reboot
import
com.topjohnwu.magisk.model.internal.Configuration
import
com.topjohnwu.magisk.model.internal.DownloadSubject
import
com.topjohnwu.magisk.view.Shortcuts
import
com.topjohnwu.magisk.view.Shortcuts
import
com.topjohnwu.superuser.Shell
import
com.topjohnwu.superuser.Shell
import
kotlinx.coroutines.GlobalScope
import
kotlinx.coroutines.GlobalScope
...
...
app/src/main/java/com/topjohnwu/magisk/core/SplashActivity.kt
View file @
7c319f5f
...
@@ -2,12 +2,14 @@ package com.topjohnwu.magisk.core
...
@@ -2,12 +2,14 @@ package com.topjohnwu.magisk.core
import
android.app.Activity
import
android.app.Activity
import
android.content.Context
import
android.content.Context
import
android.content.Intent
import
android.os.Build
import
android.os.Bundle
import
android.os.Bundle
import
com.topjohnwu.magisk.BuildConfig
import
com.topjohnwu.magisk.BuildConfig
import
com.topjohnwu.magisk.R
import
com.topjohnwu.magisk.R
import
com.topjohnwu.magisk.data.network.GithubRawServices
import
com.topjohnwu.magisk.data.network.GithubRawServices
import
com.topjohnwu.magisk.ktx.get
import
com.topjohnwu.magisk.ktx.get
import
com.topjohnwu.magisk.
model.navigation.Navigation
import
com.topjohnwu.magisk.
ui.MainActivity
import
com.topjohnwu.magisk.view.Notifications
import
com.topjohnwu.magisk.view.Notifications
import
com.topjohnwu.magisk.view.Shortcuts
import
com.topjohnwu.magisk.view.Shortcuts
import
com.topjohnwu.superuser.Shell
import
com.topjohnwu.superuser.Shell
...
@@ -58,11 +60,21 @@ open class SplashActivity : Activity() {
...
@@ -58,11 +60,21 @@ open class SplashActivity : Activity() {
get
<
GithubRawServices
>()
get
<
GithubRawServices
>()
DONE
=
true
DONE
=
true
Navigation
.
start
(
intent
,
this
)
val
section
=
if
(
intent
.
action
==
ACTION_APPLICATION_PREFERENCES
)
Const
.
Nav
.
SETTINGS
else
intent
.
getStringExtra
(
Const
.
Key
.
OPEN_SECTION
)
intent
<
MainActivity
>()
.
putExtra
(
Const
.
Key
.
OPEN_SECTION
,
section
)
.
also
{
startActivity
(
it
)
}
finish
()
finish
()
}
}
companion
object
{
companion
object
{
private
val
ACTION_APPLICATION_PREFERENCES
get
()
=
if
(
Build
.
VERSION
.
SDK_INT
>=
24
)
Intent
.
ACTION_APPLICATION_PREFERENCES
else
"???"
var
DONE
=
false
var
DONE
=
false
}
}
...
...
app/src/main/java/com/topjohnwu/magisk/
model/internal
/Configuration.kt
→
app/src/main/java/com/topjohnwu/magisk/
core/download
/Configuration.kt
View file @
7c319f5f
package
com.topjohnwu.magisk.
model.internal
package
com.topjohnwu.magisk.
core.download
import
android.net.Uri
import
android.net.Uri
import
android.os.Parcelable
import
android.os.Parcelable
...
...
app/src/main/java/com/topjohnwu/magisk/core/download/DownloadService.kt
View file @
7c319f5f
...
@@ -8,15 +8,14 @@ import android.content.Intent
...
@@ -8,15 +8,14 @@ import android.content.Intent
import
android.os.Build
import
android.os.Build
import
android.webkit.MimeTypeMap
import
android.webkit.MimeTypeMap
import
com.topjohnwu.magisk.R
import
com.topjohnwu.magisk.R
import
com.topjohnwu.magisk.core.download.Configuration.*
import
com.topjohnwu.magisk.core.download.Configuration.Flash.Secondary
import
com.topjohnwu.magisk.core.download.DownloadSubject.*
import
com.topjohnwu.magisk.core.intent
import
com.topjohnwu.magisk.core.intent
import
com.topjohnwu.magisk.core.tasks.EnvFixTask
import
com.topjohnwu.magisk.core.tasks.EnvFixTask
import
com.topjohnwu.magisk.ktx.chooser
import
com.topjohnwu.magisk.ktx.chooser
import
com.topjohnwu.magisk.ktx.exists
import
com.topjohnwu.magisk.ktx.exists
import
com.topjohnwu.magisk.ktx.provide
import
com.topjohnwu.magisk.ktx.provide
import
com.topjohnwu.magisk.model.internal.Configuration.*
import
com.topjohnwu.magisk.model.internal.Configuration.Flash.Secondary
import
com.topjohnwu.magisk.model.internal.DownloadSubject
import
com.topjohnwu.magisk.model.internal.DownloadSubject.*
import
com.topjohnwu.magisk.ui.flash.FlashFragment
import
com.topjohnwu.magisk.ui.flash.FlashFragment
import
com.topjohnwu.magisk.utils.APKInstall
import
com.topjohnwu.magisk.utils.APKInstall
import
org.koin.core.get
import
org.koin.core.get
...
...
app/src/main/java/com/topjohnwu/magisk/
model/internal
/DownloadSubject.kt
→
app/src/main/java/com/topjohnwu/magisk/
core/download
/DownloadSubject.kt
View file @
7c319f5f
package
com.topjohnwu.magisk.
model.internal
package
com.topjohnwu.magisk.
core.download
import
android.content.Context
import
android.content.Context
import
android.os.Parcelable
import
android.os.Parcelable
...
...
app/src/main/java/com/topjohnwu/magisk/core/download/ManagerUpgrade.kt
View file @
7c319f5f
...
@@ -6,13 +6,12 @@ import com.topjohnwu.magisk.ProcessPhoenix
...
@@ -6,13 +6,12 @@ import com.topjohnwu.magisk.ProcessPhoenix
import
com.topjohnwu.magisk.R
import
com.topjohnwu.magisk.R
import
com.topjohnwu.magisk.core.Config
import
com.topjohnwu.magisk.core.Config
import
com.topjohnwu.magisk.core.Info
import
com.topjohnwu.magisk.core.Info
import
com.topjohnwu.magisk.core.download.Configuration.APK.Restore
import
com.topjohnwu.magisk.core.download.Configuration.APK.Upgrade
import
com.topjohnwu.magisk.core.intent
import
com.topjohnwu.magisk.core.intent
import
com.topjohnwu.magisk.core.isRunningAsStub
import
com.topjohnwu.magisk.core.isRunningAsStub
import
com.topjohnwu.magisk.core.utils.PatchAPK
import
com.topjohnwu.magisk.core.utils.PatchAPK
import
com.topjohnwu.magisk.ktx.writeTo
import
com.topjohnwu.magisk.ktx.writeTo
import
com.topjohnwu.magisk.model.internal.Configuration.APK.Restore
import
com.topjohnwu.magisk.model.internal.Configuration.APK.Upgrade
import
com.topjohnwu.magisk.model.internal.DownloadSubject
import
com.topjohnwu.superuser.Shell
import
com.topjohnwu.superuser.Shell
import
java.io.File
import
java.io.File
...
...
app/src/main/java/com/topjohnwu/magisk/core/download/RemoteFileService.kt
View file @
7c319f5f
...
@@ -6,13 +6,12 @@ import androidx.lifecycle.LiveData
...
@@ -6,13 +6,12 @@ import androidx.lifecycle.LiveData
import
androidx.lifecycle.MutableLiveData
import
androidx.lifecycle.MutableLiveData
import
com.topjohnwu.magisk.R
import
com.topjohnwu.magisk.R
import
com.topjohnwu.magisk.core.ForegroundTracker
import
com.topjohnwu.magisk.core.ForegroundTracker
import
com.topjohnwu.magisk.core.download.DownloadSubject.Magisk
import
com.topjohnwu.magisk.core.download.DownloadSubject.Module
import
com.topjohnwu.magisk.core.utils.ProgressInputStream
import
com.topjohnwu.magisk.core.utils.ProgressInputStream
import
com.topjohnwu.magisk.data.network.GithubRawServices
import
com.topjohnwu.magisk.data.network.GithubRawServices
import
com.topjohnwu.magisk.ktx.checkSum
import
com.topjohnwu.magisk.ktx.checkSum
import
com.topjohnwu.magisk.ktx.writeTo
import
com.topjohnwu.magisk.ktx.writeTo
import
com.topjohnwu.magisk.model.internal.DownloadSubject
import
com.topjohnwu.magisk.model.internal.DownloadSubject.Magisk
import
com.topjohnwu.magisk.model.internal.DownloadSubject.Module
import
com.topjohnwu.magisk.view.Notifications
import
com.topjohnwu.magisk.view.Notifications
import
kotlinx.coroutines.launch
import
kotlinx.coroutines.launch
import
okhttp3.ResponseBody
import
okhttp3.ResponseBody
...
...
app/src/main/java/com/topjohnwu/magisk/events/ViewEvents.kt
View file @
7c319f5f
...
@@ -3,10 +3,8 @@ package com.topjohnwu.magisk.events
...
@@ -3,10 +3,8 @@ package com.topjohnwu.magisk.events
import
android.app.Activity
import
android.app.Activity
import
android.content.Context
import
android.content.Context
import
android.content.Intent
import
android.content.Intent
import
com.topjohnwu.magisk.arch.ActivityExecutor
import
androidx.navigation.NavDirections
import
com.topjohnwu.magisk.arch.ContextExecutor
import
com.topjohnwu.magisk.arch.*
import
com.topjohnwu.magisk.arch.ViewEvent
import
com.topjohnwu.magisk.arch.ViewEventWithScope
import
com.topjohnwu.magisk.core.base.BaseActivity
import
com.topjohnwu.magisk.core.base.BaseActivity
import
com.topjohnwu.magisk.core.model.module.Repo
import
com.topjohnwu.magisk.core.model.module.Repo
import
com.topjohnwu.magisk.view.MarkDownWindow
import
com.topjohnwu.magisk.view.MarkDownWindow
...
@@ -74,3 +72,13 @@ class RequestFileEvent : ViewEvent(), ActivityExecutor {
...
@@ -74,3 +72,13 @@ class RequestFileEvent : ViewEvent(), ActivityExecutor {
?.
data
?.
data
}
}
}
}
class
NavigationEvent
(
private
val
directions
:
NavDirections
)
:
ViewEvent
(),
ActivityExecutor
{
override
fun
invoke
(
activity
:
BaseActivity
)
{
(
activity
as
?
BaseUIActivity
<*,
*>)
?.
apply
{
directions
.
navigate
()
}
}
}
app/src/main/java/com/topjohnwu/magisk/events/dialog/EnvFixDialog.kt
View file @
7c319f5f
...
@@ -6,9 +6,9 @@ import android.content.Intent
...
@@ -6,9 +6,9 @@ import android.content.Intent
import
android.content.IntentFilter
import
android.content.IntentFilter
import
androidx.localbroadcastmanager.content.LocalBroadcastManager
import
androidx.localbroadcastmanager.content.LocalBroadcastManager
import
com.topjohnwu.magisk.R
import
com.topjohnwu.magisk.R
import
com.topjohnwu.magisk.core.download.Configuration.EnvFix
import
com.topjohnwu.magisk.core.download.DownloadService
import
com.topjohnwu.magisk.core.download.DownloadService
import
com.topjohnwu.magisk.model.internal.Configuration.EnvFix
import
com.topjohnwu.magisk.core.download.DownloadSubject.Magisk
import
com.topjohnwu.magisk.model.internal.DownloadSubject.Magisk
import
com.topjohnwu.magisk.view.MagiskDialog
import
com.topjohnwu.magisk.view.MagiskDialog
class
EnvFixDialog
:
DialogEvent
()
{
class
EnvFixDialog
:
DialogEvent
()
{
...
...
app/src/main/java/com/topjohnwu/magisk/events/dialog/ManagerInstallDialog.kt
View file @
7c319f5f
...
@@ -2,10 +2,10 @@ package com.topjohnwu.magisk.events.dialog
...
@@ -2,10 +2,10 @@ package com.topjohnwu.magisk.events.dialog
import
com.topjohnwu.magisk.R
import
com.topjohnwu.magisk.R
import
com.topjohnwu.magisk.core.Info
import
com.topjohnwu.magisk.core.Info
import
com.topjohnwu.magisk.core.download.Configuration
import
com.topjohnwu.magisk.core.download.DownloadService
import
com.topjohnwu.magisk.core.download.DownloadService
import
com.topjohnwu.magisk.core.download.DownloadSubject
import
com.topjohnwu.magisk.ktx.res
import
com.topjohnwu.magisk.ktx.res
import
com.topjohnwu.magisk.model.internal.Configuration
import
com.topjohnwu.magisk.model.internal.DownloadSubject
import
com.topjohnwu.magisk.view.MagiskDialog
import
com.topjohnwu.magisk.view.MagiskDialog
import
com.topjohnwu.magisk.view.MarkDownWindow
import
com.topjohnwu.magisk.view.MarkDownWindow
import
kotlinx.coroutines.Dispatchers
import
kotlinx.coroutines.Dispatchers
...
...
app/src/main/java/com/topjohnwu/magisk/events/dialog/ModuleInstallDialog.kt
View file @
7c319f5f
package
com.topjohnwu.magisk.events.dialog
package
com.topjohnwu.magisk.events.dialog
import
com.topjohnwu.magisk.R
import
com.topjohnwu.magisk.R
import
com.topjohnwu.magisk.core.download.Configuration
import
com.topjohnwu.magisk.core.download.DownloadService
import
com.topjohnwu.magisk.core.download.DownloadService
import
com.topjohnwu.magisk.core.download.DownloadSubject
import
com.topjohnwu.magisk.core.model.module.Repo
import
com.topjohnwu.magisk.core.model.module.Repo
import
com.topjohnwu.magisk.model.internal.Configuration
import
com.topjohnwu.magisk.model.internal.DownloadSubject
import
com.topjohnwu.magisk.view.MagiskDialog
import
com.topjohnwu.magisk.view.MagiskDialog
class
ModuleInstallDialog
(
private
val
item
:
Repo
)
:
DialogEvent
()
{
class
ModuleInstallDialog
(
private
val
item
:
Repo
)
:
DialogEvent
()
{
...
...
app/src/main/java/com/topjohnwu/magisk/events/dialog/UninstallDialog.kt
View file @
7c319f5f
...
@@ -3,9 +3,9 @@ package com.topjohnwu.magisk.events.dialog
...
@@ -3,9 +3,9 @@ package com.topjohnwu.magisk.events.dialog
import
android.widget.Toast
import
android.widget.Toast
import
com.topjohnwu.magisk.R
import
com.topjohnwu.magisk.R
import
com.topjohnwu.magisk.core.Info
import
com.topjohnwu.magisk.core.Info
import
com.topjohnwu.magisk.core.download.Configuration
import
com.topjohnwu.magisk.core.download.DownloadService
import
com.topjohnwu.magisk.core.download.DownloadService
import
com.topjohnwu.magisk.model.internal.Configuration
import
com.topjohnwu.magisk.core.download.DownloadSubject
import
com.topjohnwu.magisk.model.internal.DownloadSubject
import
com.topjohnwu.magisk.utils.Utils
import
com.topjohnwu.magisk.utils.Utils
import
com.topjohnwu.magisk.view.MagiskDialog
import
com.topjohnwu.magisk.view.MagiskDialog
import
com.topjohnwu.superuser.Shell
import
com.topjohnwu.superuser.Shell
...
...
app/src/main/java/com/topjohnwu/magisk/model/navigation/Navigation.kt
deleted
100644 → 0
View file @
1fcf35eb
package
com.topjohnwu.magisk.model.navigation
import
android.content.Context
import
android.content.Intent
import
android.os.Build
import
com.topjohnwu.magisk.core.Const
import
com.topjohnwu.magisk.core.intent
import
com.topjohnwu.magisk.ui.MainActivity
object
Navigation
{
fun
start
(
launchIntent
:
Intent
,
context
:
Context
)
{
context
.
intent
<
MainActivity
>()
.
putExtra
(
Const
.
Key
.
OPEN_SECTION
,
launchIntent
.
getStringExtra
(
Const
.
Key
.
OPEN_SECTION
))
.
putExtra
(
Const
.
Key
.
OPEN_SETTINGS
,
launchIntent
.
action
==
ACTION_APPLICATION_PREFERENCES
)
.
also
{
context
.
startActivity
(
it
)
}
}
private
val
ACTION_APPLICATION_PREFERENCES
get
()
=
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
N
)
{
Intent
.
ACTION_APPLICATION_PREFERENCES
}
else
{
"cannot be null, cannot be empty"
}
}
app/src/main/java/com/topjohnwu/magisk/model/navigation/NavigationWrapper.kt
deleted
100644 → 0
View file @
1fcf35eb
package
com.topjohnwu.magisk.model.navigation
import
androidx.navigation.NavDirections
import
com.topjohnwu.magisk.arch.ActivityExecutor
import
com.topjohnwu.magisk.arch.BaseUIActivity
import
com.topjohnwu.magisk.arch.ViewEvent
import
com.topjohnwu.magisk.core.base.BaseActivity
class
NavigationWrapper
(
private
val
directions
:
NavDirections
)
:
ViewEvent
(),
ActivityExecutor
{
override
fun
invoke
(
activity
:
BaseActivity
)
{
if
(
activity
!
is
BaseUIActivity
<*,
*>)
return
activity
.
apply
{
directions
.
navigate
()
}
}
}
app/src/main/java/com/topjohnwu/magisk/ui/MainActivity.kt
View file @
7c319f5f
...
@@ -44,8 +44,7 @@ open class MainActivity : BaseUIActivity<MainViewModel, ActivityMainMd2Binding>(
...
@@ -44,8 +44,7 @@ open class MainActivity : BaseUIActivity<MainViewModel, ActivityMainMd2Binding>(
binding
.
mainNavigation
.
setPadding
(
0
)
binding
.
mainNavigation
.
setPadding
(
0
)
}
}
protected
var
isRoot
=
true
private
var
isRootFragment
=
true
private
set
override
fun
onCreate
(
savedInstanceState
:
Bundle
?)
{
override
fun
onCreate
(
savedInstanceState
:
Bundle
?)
{
super
.
onCreate
(
savedInstanceState
)
super
.
onCreate
(
savedInstanceState
)
...
@@ -61,8 +60,8 @@ open class MainActivity : BaseUIActivity<MainViewModel, ActivityMainMd2Binding>(
...
@@ -61,8 +60,8 @@ open class MainActivity : BaseUIActivity<MainViewModel, ActivityMainMd2Binding>(
window
.
setSoftInputMode
(
WindowManager
.
LayoutParams
.
SOFT_INPUT_ADJUST_RESIZE
)
window
.
setSoftInputMode
(
WindowManager
.
LayoutParams
.
SOFT_INPUT_ADJUST_RESIZE
)
navigation
?.
addOnDestinationChangedListener
{
controller
,
destination
,
arguments
->
navigation
?.
addOnDestinationChangedListener
{
_
,
destination
,
_
->
isRoot
=
when
(
destination
.
id
)
{
isRoot
Fragment
=
when
(
destination
.
id
)
{
R
.
id
.
homeFragment
,
R
.
id
.
homeFragment
,
R
.
id
.
modulesFragment
,
R
.
id
.
modulesFragment
,
R
.
id
.
superuserFragment
,
R
.
id
.
superuserFragment
,
...
@@ -70,8 +69,8 @@ open class MainActivity : BaseUIActivity<MainViewModel, ActivityMainMd2Binding>(
...
@@ -70,8 +69,8 @@ open class MainActivity : BaseUIActivity<MainViewModel, ActivityMainMd2Binding>(
else
->
false
else
->
false
}
}
setDisplayHomeAsUpEnabled
(!
isRoot
)
setDisplayHomeAsUpEnabled
(!
isRoot
Fragment
)
requestNavigationHidden
(!
isRoot
)
requestNavigationHidden
(!
isRoot
Fragment
)
binding
.
mainNavigation
.
menu
.
forEach
{
binding
.
mainNavigation
.
menu
.
forEach
{
if
(
it
.
itemId
==
destination
.
id
)
{
if
(
it
.
itemId
==
destination
.
id
)
{
...
@@ -89,13 +88,7 @@ open class MainActivity : BaseUIActivity<MainViewModel, ActivityMainMd2Binding>(
...
@@ -89,13 +88,7 @@ open class MainActivity : BaseUIActivity<MainViewModel, ActivityMainMd2Binding>(
behavior
=
HideBottomViewOnScrollBehavior
<
MaterialCardView
>()
behavior
=
HideBottomViewOnScrollBehavior
<
MaterialCardView
>()
}
}
binding
.
mainNavigation
.
setOnNavigationItemSelectedListener
{
binding
.
mainNavigation
.
setOnNavigationItemSelectedListener
{
when
(
it
.
itemId
)
{
getScreen
(
it
.
itemId
)
?.
navigate
()
R
.
id
.
homeFragment
->
MainDirections
.
actionHomeFragment
()
R
.
id
.
modulesFragment
->
MainDirections
.
actionModuleFragment
()
R
.
id
.
superuserFragment
->
MainDirections
.
actionSuperuserFragment
()
R
.
id
.
logFragment
->
MainDirections
.
actionLogFragment
()
else
->
throw
NotImplementedError
(
"Id ${it.itemId} is not defined as selectable"
)
}.
navigate
()
true
true
}
}
binding
.
mainNavigation
.
setOnNavigationItemReselectedListener
{
binding
.
mainNavigation
.
setOnNavigationItemReselectedListener
{
...
@@ -104,16 +97,11 @@ open class MainActivity : BaseUIActivity<MainViewModel, ActivityMainMd2Binding>(
...
@@ -104,16 +97,11 @@ open class MainActivity : BaseUIActivity<MainViewModel, ActivityMainMd2Binding>(
binding
.
mainNavigation
.
viewTreeObserver
.
addOnGlobalLayoutListener
(
navObserver
)
binding
.
mainNavigation
.
viewTreeObserver
.
addOnGlobalLayoutListener
(
navObserver
)
when
{
if
(
intent
.
hasExtra
(
Const
.
Key
.
OPEN_SECTION
))
intent
.
hasExtra
(
Const
.
Key
.
OPEN_SECTION
)
->
getScreen
(
intent
.
getStringExtra
(
Const
.
Key
.
OPEN_SECTION
))
?.
navigate
()
getScreen
(
intent
.
getStringExtra
(
Const
.
Key
.
OPEN_SECTION
))
?.
navigate
()
intent
.
getBooleanExtra
(
Const
.
Key
.
OPEN_SETTINGS
,
false
)
->
HomeFragmentDirections
.
actionHomeFragmentToSettingsFragment
().
navigate
()
}
if
(
savedInstanceState
!=
null
)
{
if
(
savedInstanceState
!=
null
)
{
if
(!
isRoot
)
{
if
(!
isRoot
Fragment
)
{
requestNavigationHidden
()
requestNavigationHidden
()
}
}
}
}
...
@@ -171,11 +159,21 @@ open class MainActivity : BaseUIActivity<MainViewModel, ActivityMainMd2Binding>(
...
@@ -171,11 +159,21 @@ open class MainActivity : BaseUIActivity<MainViewModel, ActivityMainMd2Binding>(
private
fun
getScreen
(
name
:
String
?):
NavDirections
?
{
private
fun
getScreen
(
name
:
String
?):
NavDirections
?
{
return
when
(
name
)
{
return
when
(
name
)
{
"superuser"
->
HomeFragmentDirections
.
actionSuperuserFragment
()
Const
.
Nav
.
SUPERUSER
->
HomeFragmentDirections
.
actionSuperuserFragment
()
"magiskhide"
->
HomeFragmentDirections
.
actionHideFragment
()
Const
.
Nav
.
HIDE
->
HomeFragmentDirections
.
actionHideFragment
()
"modules"
->
HomeFragmentDirections
.
actionModuleFragment
()
Const
.
Nav
.
MODULES
->
HomeFragmentDirections
.
actionModuleFragment
()
null
->
null
Const
.
Nav
.
SETTINGS
->
HomeFragmentDirections
.
actionHomeFragmentToSettingsFragment
()
else
->
TODO
(
"Implement screen shortcut \"$name\""
)
else
->
null
}
}
private
fun
getScreen
(
id
:
Int
):
NavDirections
?
{
return
when
(
id
)
{
R
.
id
.
homeFragment
->
MainDirections
.
actionHomeFragment
()
R
.
id
.
modulesFragment
->
MainDirections
.
actionModuleFragment
()
R
.
id
.
superuserFragment
->
MainDirections
.
actionSuperuserFragment
()
R
.
id
.
logFragment
->
MainDirections
.
actionLogFragment
()
else
->
null
}
}
}
}
...
...
app/src/main/java/com/topjohnwu/magisk/ui/home/HomeViewModel.kt
View file @
7c319f5f
...
@@ -12,6 +12,7 @@ import com.topjohnwu.magisk.arch.itemBindingOf
...
@@ -12,6 +12,7 @@ import com.topjohnwu.magisk.arch.itemBindingOf
import
com.topjohnwu.magisk.core.Config
import
com.topjohnwu.magisk.core.Config
import
com.topjohnwu.magisk.core.Info
import
com.topjohnwu.magisk.core.Info
import
com.topjohnwu.magisk.core.base.BaseActivity
import
com.topjohnwu.magisk.core.base.BaseActivity
import
com.topjohnwu.magisk.core.download.DownloadSubject.Manager
import
com.topjohnwu.magisk.core.download.RemoteFileService
import
com.topjohnwu.magisk.core.download.RemoteFileService
import
com.topjohnwu.magisk.core.model.MagiskJson
import
com.topjohnwu.magisk.core.model.MagiskJson
import
com.topjohnwu.magisk.core.model.ManagerJson
import
com.topjohnwu.magisk.core.model.ManagerJson
...
@@ -23,7 +24,6 @@ import com.topjohnwu.magisk.events.dialog.UninstallDialog
...
@@ -23,7 +24,6 @@ import com.topjohnwu.magisk.events.dialog.UninstallDialog
import
com.topjohnwu.magisk.ktx.await
import
com.topjohnwu.magisk.ktx.await
import
com.topjohnwu.magisk.ktx.packageName
import
com.topjohnwu.magisk.ktx.packageName
import
com.topjohnwu.magisk.ktx.res
import
com.topjohnwu.magisk.ktx.res
import
com.topjohnwu.magisk.model.internal.DownloadSubject.Manager
import
com.topjohnwu.magisk.utils.set
import
com.topjohnwu.magisk.utils.set
import
com.topjohnwu.superuser.Shell
import
com.topjohnwu.superuser.Shell
import
kotlinx.coroutines.launch
import
kotlinx.coroutines.launch
...
...
app/src/main/java/com/topjohnwu/magisk/ui/install/InstallViewModel.kt
View file @
7c319f5f
...
@@ -8,13 +8,13 @@ import com.topjohnwu.magisk.BR
...
@@ -8,13 +8,13 @@ import com.topjohnwu.magisk.BR
import
com.topjohnwu.magisk.R
import
com.topjohnwu.magisk.R
import
com.topjohnwu.magisk.arch.BaseViewModel
import
com.topjohnwu.magisk.arch.BaseViewModel
import
com.topjohnwu.magisk.core.Info
import
com.topjohnwu.magisk.core.Info
import
com.topjohnwu.magisk.core.download.Configuration
import
com.topjohnwu.magisk.core.download.DownloadService
import
com.topjohnwu.magisk.core.download.DownloadService
import
com.topjohnwu.magisk.core.download.DownloadSubject
import
com.topjohnwu.magisk.core.download.RemoteFileService
import
com.topjohnwu.magisk.core.download.RemoteFileService
import
com.topjohnwu.magisk.data.repository.StringRepository
import
com.topjohnwu.magisk.data.repository.StringRepository
import
com.topjohnwu.magisk.events.RequestFileEvent
import
com.topjohnwu.magisk.events.RequestFileEvent
import
com.topjohnwu.magisk.events.dialog.SecondSlotWarningDialog
import
com.topjohnwu.magisk.events.dialog.SecondSlotWarningDialog
import
com.topjohnwu.magisk.model.internal.Configuration
import
com.topjohnwu.magisk.model.internal.DownloadSubject
import
com.topjohnwu.magisk.utils.Utils
import
com.topjohnwu.magisk.utils.Utils
import
com.topjohnwu.magisk.utils.set
import
com.topjohnwu.magisk.utils.set
import
com.topjohnwu.superuser.Shell
import
com.topjohnwu.superuser.Shell
...
...
app/src/main/java/com/topjohnwu/magisk/ui/module/ModuleViewModel.kt
View file @
7c319f5f
...
@@ -8,6 +8,7 @@ import com.topjohnwu.magisk.BR
...
@@ -8,6 +8,7 @@ import com.topjohnwu.magisk.BR
import
com.topjohnwu.magisk.R
import
com.topjohnwu.magisk.R
import
com.topjohnwu.magisk.arch.*
import
com.topjohnwu.magisk.arch.*
import
com.topjohnwu.magisk.core.Config
import
com.topjohnwu.magisk.core.Config
import
com.topjohnwu.magisk.core.download.DownloadSubject
import
com.topjohnwu.magisk.core.download.RemoteFileService
import
com.topjohnwu.magisk.core.download.RemoteFileService
import
com.topjohnwu.magisk.core.model.module.Module
import
com.topjohnwu.magisk.core.model.module.Module
import
com.topjohnwu.magisk.core.tasks.RepoUpdater
import
com.topjohnwu.magisk.core.tasks.RepoUpdater
...
@@ -19,7 +20,6 @@ import com.topjohnwu.magisk.events.OpenChangelogEvent
...
@@ -19,7 +20,6 @@ import com.topjohnwu.magisk.events.OpenChangelogEvent
import
com.topjohnwu.magisk.events.dialog.ModuleInstallDialog
import
com.topjohnwu.magisk.events.dialog.ModuleInstallDialog
import
com.topjohnwu.magisk.ktx.addOnListChangedCallback
import
com.topjohnwu.magisk.ktx.addOnListChangedCallback
import
com.topjohnwu.magisk.ktx.reboot
import
com.topjohnwu.magisk.ktx.reboot
import
com.topjohnwu.magisk.model.internal.DownloadSubject
import
com.topjohnwu.magisk.utils.EndlessRecyclerScrollListener
import
com.topjohnwu.magisk.utils.EndlessRecyclerScrollListener
import
com.topjohnwu.magisk.utils.set
import
com.topjohnwu.magisk.utils.set
import
kotlinx.coroutines.Dispatchers
import
kotlinx.coroutines.Dispatchers
...
...
app/src/main/java/com/topjohnwu/magisk/ui/settings/SettingsViewModel.kt
View file @
7c319f5f
...
@@ -12,13 +12,13 @@ import com.topjohnwu.magisk.arch.diffListOf
...
@@ -12,13 +12,13 @@ import com.topjohnwu.magisk.arch.diffListOf
import
com.topjohnwu.magisk.arch.itemBindingOf
import
com.topjohnwu.magisk.arch.itemBindingOf
import
com.topjohnwu.magisk.core.Const
import
com.topjohnwu.magisk.core.Const
import
com.topjohnwu.magisk.core.Info
import
com.topjohnwu.magisk.core.Info
import
com.topjohnwu.magisk.core.download.Configuration
import
com.topjohnwu.magisk.core.download.DownloadService
import
com.topjohnwu.magisk.core.download.DownloadService
import
com.topjohnwu.magisk.core.download.DownloadSubject
import
com.topjohnwu.magisk.core.utils.PatchAPK
import
com.topjohnwu.magisk.core.utils.PatchAPK
import
com.topjohnwu.magisk.data.database.RepoDao
import
com.topjohnwu.magisk.data.database.RepoDao
import
com.topjohnwu.magisk.events.RecreateEvent
import
com.topjohnwu.magisk.events.RecreateEvent
import
com.topjohnwu.magisk.events.dialog.BiometricDialog
import
com.topjohnwu.magisk.events.dialog.BiometricDialog
import
com.topjohnwu.magisk.model.internal.Configuration
import
com.topjohnwu.magisk.model.internal.DownloadSubject
import
com.topjohnwu.magisk.utils.Utils
import
com.topjohnwu.magisk.utils.Utils
import
com.topjohnwu.superuser.Shell
import
com.topjohnwu.superuser.Shell
import
kotlinx.coroutines.launch
import
kotlinx.coroutines.launch
...
...
app/src/main/java/com/topjohnwu/magisk/view/Shortcuts.kt
View file @
7c319f5f
...
@@ -42,11 +42,11 @@ object Shortcuts {
...
@@ -42,11 +42,11 @@ object Shortcuts {
if
(
Utils
.
showSuperUser
())
{
if
(
Utils
.
showSuperUser
())
{
shortCuts
.
add
(
shortCuts
.
add
(
ShortcutInfo
.
Builder
(
context
,
"superuser"
)
ShortcutInfo
.
Builder
(
context
,
Const
.
Nav
.
SUPERUSER
)
.
setShortLabel
(
context
.
getString
(
R
.
string
.
superuser
))
.
setShortLabel
(
context
.
getString
(
R
.
string
.
superuser
))
.
setIntent
(
.
setIntent
(
Intent
(
intent
)
Intent
(
intent
)
.
putExtra
(
Const
.
Key
.
OPEN_SECTION
,
"superuser"
)
.
putExtra
(
Const
.
Key
.
OPEN_SECTION
,
Const
.
Nav
.
SUPERUSER
)
.
setAction
(
Intent
.
ACTION_VIEW
)
.
setAction
(
Intent
.
ACTION_VIEW
)
.
addFlags
(
Intent
.
FLAG_ACTIVITY_CLEAR_TASK
)
.
addFlags
(
Intent
.
FLAG_ACTIVITY_CLEAR_TASK
)
)
)
...
@@ -57,11 +57,11 @@ object Shortcuts {
...
@@ -57,11 +57,11 @@ object Shortcuts {
}
}
if
(
Info
.
env
.
magiskHide
)
{
if
(
Info
.
env
.
magiskHide
)
{
shortCuts
.
add
(
shortCuts
.
add
(
ShortcutInfo
.
Builder
(
context
,
"magiskhide"
)
ShortcutInfo
.
Builder
(
context
,
Const
.
Nav
.
HIDE
)
.
setShortLabel
(
context
.
getString
(
R
.
string
.
magiskhide
))
.
setShortLabel
(
context
.
getString
(
R
.
string
.
magiskhide
))
.
setIntent
(
.
setIntent
(
Intent
(
intent
)
Intent
(
intent
)
.
putExtra
(
Const
.
Key
.
OPEN_SECTION
,
"magiskhide"
)
.
putExtra
(
Const
.
Key
.
OPEN_SECTION
,
Const
.
Nav
.
HIDE
)
.
setAction
(
Intent
.
ACTION_VIEW
)
.
setAction
(
Intent
.
ACTION_VIEW
)
.
addFlags
(
Intent
.
FLAG_ACTIVITY_CLEAR_TASK
)
.
addFlags
(
Intent
.
FLAG_ACTIVITY_CLEAR_TASK
)
)
)
...
@@ -72,11 +72,11 @@ object Shortcuts {
...
@@ -72,11 +72,11 @@ object Shortcuts {
}
}
if
(
Info
.
env
.
isActive
)
{
if
(
Info
.
env
.
isActive
)
{
shortCuts
.
add
(
shortCuts
.
add
(
ShortcutInfo
.
Builder
(
context
,
"modules"
)
ShortcutInfo
.
Builder
(
context
,
Const
.
Nav
.
MODULES
)
.
setShortLabel
(
context
.
getString
(
R
.
string
.
modules
))
.
setShortLabel
(
context
.
getString
(
R
.
string
.
modules
))
.
setIntent
(
.
setIntent
(
Intent
(
intent
)
Intent
(
intent
)
.
putExtra
(
Const
.
Key
.
OPEN_SECTION
,
"modules"
)
.
putExtra
(
Const
.
Key
.
OPEN_SECTION
,
Const
.
Nav
.
MODULES
)
.
setAction
(
Intent
.
ACTION_VIEW
)
.
setAction
(
Intent
.
ACTION_VIEW
)
.
addFlags
(
Intent
.
FLAG_ACTIVITY_CLEAR_TASK
)
.
addFlags
(
Intent
.
FLAG_ACTIVITY_CLEAR_TASK
)
)
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment