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
3bcaf0ed
Commit
3bcaf0ed
authored
May 25, 2022
by
topjohnwu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Move more files into core
parent
edb76503
Hide whitespace changes
Inline
Side-by-side
Showing
60 changed files
with
186 additions
and
186 deletions
+186
-186
BaseMainActivity.kt
...c/main/java/com/topjohnwu/magisk/arch/BaseMainActivity.kt
+1
-1
App.kt
app/src/main/java/com/topjohnwu/magisk/core/App.kt
+1
-1
Config.kt
app/src/main/java/com/topjohnwu/magisk/core/Config.kt
+8
-6
Hacks.kt
app/src/main/java/com/topjohnwu/magisk/core/Hacks.kt
+1
-1
Info.kt
app/src/main/java/com/topjohnwu/magisk/core/Info.kt
+2
-2
JobService.kt
app/src/main/java/com/topjohnwu/magisk/core/JobService.kt
+1
-1
Receiver.kt
app/src/main/java/com/topjohnwu/magisk/core/Receiver.kt
+1
-1
NetworkServices.kt
...in/java/com/topjohnwu/magisk/core/data/NetworkServices.kt
+1
-1
SuLogDao.kt
app/src/main/java/com/topjohnwu/magisk/core/data/SuLogDao.kt
+1
-1
MagiskDB.kt
.../java/com/topjohnwu/magisk/core/data/magiskdb/MagiskDB.kt
+1
-1
PolicyDao.kt
...java/com/topjohnwu/magisk/core/data/magiskdb/PolicyDao.kt
+2
-2
SettingsDao.kt
...va/com/topjohnwu/magisk/core/data/magiskdb/SettingsDao.kt
+1
-1
StringDao.kt
...java/com/topjohnwu/magisk/core/data/magiskdb/StringDao.kt
+1
-1
Networking.kt
app/src/main/java/com/topjohnwu/magisk/core/di/Networking.kt
+1
-1
ServiceLocator.kt
.../main/java/com/topjohnwu/magisk/core/di/ServiceLocator.kt
+7
-7
DownloadService.kt
...ava/com/topjohnwu/magisk/core/download/DownloadService.kt
+4
-1
NotificationService.kt
...com/topjohnwu/magisk/core/download/NotificationService.kt
+1
-1
Subject.kt
...c/main/java/com/topjohnwu/magisk/core/download/Subject.kt
+1
-1
LocalModule.kt
...ava/com/topjohnwu/magisk/core/model/module/LocalModule.kt
+1
-1
DBConfig.kt
...ain/java/com/topjohnwu/magisk/core/repository/DBConfig.kt
+17
-16
LogRepository.kt
...ava/com/topjohnwu/magisk/core/repository/LogRepository.kt
+2
-2
NetworkService.kt
...va/com/topjohnwu/magisk/core/repository/NetworkService.kt
+4
-4
PreferenceConfig.kt
.../com/topjohnwu/magisk/core/repository/PreferenceConfig.kt
+82
-20
SuCallbackHandler.kt
...in/java/com/topjohnwu/magisk/core/su/SuCallbackHandler.kt
+1
-1
SuRequestHandler.kt
...ain/java/com/topjohnwu/magisk/core/su/SuRequestHandler.kt
+1
-1
FlashZip.kt
...src/main/java/com/topjohnwu/magisk/core/tasks/FlashZip.kt
+1
-1
HideAPK.kt
app/src/main/java/com/topjohnwu/magisk/core/tasks/HideAPK.kt
+1
-1
MagiskInstaller.kt
...n/java/com/topjohnwu/magisk/core/tasks/MagiskInstaller.kt
+1
-1
AXML.kt
app/src/main/java/com/topjohnwu/magisk/core/utils/AXML.kt
+0
-1
BiometricHelper.kt
...n/java/com/topjohnwu/magisk/core/utils/BiometricHelper.kt
+1
-1
Locales.kt
app/src/main/java/com/topjohnwu/magisk/core/utils/Locales.kt
+1
-2
MediaStoreUtils.kt
...n/java/com/topjohnwu/magisk/core/utils/MediaStoreUtils.kt
+1
-1
PreferenceModel.kt
...a/com/topjohnwu/magisk/data/preference/PreferenceModel.kt
+0
-67
DataBindingAdapters.kt
...a/com/topjohnwu/magisk/databinding/DataBindingAdapters.kt
+1
-1
DiffObservableList.kt
...va/com/topjohnwu/magisk/databinding/DiffObservableList.kt
+0
-1
ManagerInstallDialog.kt
...om/topjohnwu/magisk/events/dialog/ManagerInstallDialog.kt
+2
-2
MarkDownDialog.kt
...java/com/topjohnwu/magisk/events/dialog/MarkDownDialog.kt
+1
-1
ModuleInstallDialog.kt
...com/topjohnwu/magisk/events/dialog/ModuleInstallDialog.kt
+1
-1
SignApk.java
app/src/main/java/com/topjohnwu/magisk/signing/SignApk.java
+0
-1
MainActivity.kt
app/src/main/java/com/topjohnwu/magisk/ui/MainActivity.kt
+1
-1
DenyListFragment.kt
...ain/java/com/topjohnwu/magisk/ui/deny/DenyListFragment.kt
+1
-1
DenyListViewModel.kt
...in/java/com/topjohnwu/magisk/ui/deny/DenyListViewModel.kt
+7
-4
FlashFragment.kt
.../main/java/com/topjohnwu/magisk/ui/flash/FlashFragment.kt
+1
-1
HomeFragment.kt
...rc/main/java/com/topjohnwu/magisk/ui/home/HomeFragment.kt
+1
-1
HomeViewModel.kt
...c/main/java/com/topjohnwu/magisk/ui/home/HomeViewModel.kt
+1
-1
InstallFragment.kt
...n/java/com/topjohnwu/magisk/ui/install/InstallFragment.kt
+1
-1
InstallViewModel.kt
.../java/com/topjohnwu/magisk/ui/install/InstallViewModel.kt
+3
-3
LogFragment.kt
app/src/main/java/com/topjohnwu/magisk/ui/log/LogFragment.kt
+1
-1
LogViewModel.kt
...src/main/java/com/topjohnwu/magisk/ui/log/LogViewModel.kt
+1
-1
ModuleFragment.kt
...ain/java/com/topjohnwu/magisk/ui/module/ModuleFragment.kt
+1
-1
SettingsFragment.kt
...java/com/topjohnwu/magisk/ui/settings/SettingsFragment.kt
+1
-1
SettingsItems.kt
...in/java/com/topjohnwu/magisk/ui/settings/SettingsItems.kt
+1
-1
SettingsViewModel.kt
...ava/com/topjohnwu/magisk/ui/settings/SettingsViewModel.kt
+1
-1
SuperuserFragment.kt
...va/com/topjohnwu/magisk/ui/superuser/SuperuserFragment.kt
+1
-1
SuperuserViewModel.kt
...a/com/topjohnwu/magisk/ui/superuser/SuperuserViewModel.kt
+2
-2
SuRequestActivity.kt
...va/com/topjohnwu/magisk/ui/surequest/SuRequestActivity.kt
+1
-1
SuRequestViewModel.kt
...a/com/topjohnwu/magisk/ui/surequest/SuRequestViewModel.kt
+2
-2
ThemeFragment.kt
.../main/java/com/topjohnwu/magisk/ui/theme/ThemeFragment.kt
+1
-1
Utils.kt
app/src/main/java/com/topjohnwu/magisk/utils/Utils.kt
+1
-1
Notifications.kt
app/src/main/java/com/topjohnwu/magisk/view/Notifications.kt
+1
-1
No files found.
app/src/main/java/com/topjohnwu/magisk/arch/BaseMainActivity.kt
View file @
3bcaf0ed
...
...
@@ -12,10 +12,10 @@ import com.topjohnwu.magisk.R
import
com.topjohnwu.magisk.core.Config
import
com.topjohnwu.magisk.core.Const
import
com.topjohnwu.magisk.core.JobService
import
com.topjohnwu.magisk.core.di.ServiceLocator
import
com.topjohnwu.magisk.core.isRunningAsStub
import
com.topjohnwu.magisk.core.tasks.HideAPK
import
com.topjohnwu.magisk.core.utils.RootUtils
import
com.topjohnwu.magisk.di.ServiceLocator
import
com.topjohnwu.magisk.ui.theme.Theme
import
com.topjohnwu.magisk.utils.Utils
import
com.topjohnwu.magisk.view.MagiskDialog
...
...
app/src/main/java/com/topjohnwu/magisk/core/App.kt
View file @
3bcaf0ed
...
...
@@ -7,8 +7,8 @@ import android.content.Context
import
android.content.res.Configuration
import
android.os.Bundle
import
com.topjohnwu.magisk.StubApk
import
com.topjohnwu.magisk.core.di.ServiceLocator
import
com.topjohnwu.magisk.core.utils.*
import
com.topjohnwu.magisk.di.ServiceLocator
import
com.topjohnwu.magisk.ui.surequest.SuRequestActivity
import
com.topjohnwu.superuser.Shell
import
com.topjohnwu.superuser.internal.UiThreadHandler
...
...
app/src/main/java/com/topjohnwu/magisk/core/Config.kt
View file @
3bcaf0ed
...
...
@@ -6,21 +6,23 @@ import android.util.Xml
import
androidx.appcompat.app.AppCompatDelegate
import
androidx.core.content.edit
import
com.topjohnwu.magisk.BuildConfig
import
com.topjohnwu.magisk.core.di.ServiceLocator
import
com.topjohnwu.magisk.core.repository.BoolDBPropertyNoWrite
import
com.topjohnwu.magisk.core.repository.DBConfig
import
com.topjohnwu.magisk.core.repository.PreferenceConfig
import
com.topjohnwu.magisk.core.utils.refreshLocale
import
com.topjohnwu.magisk.data.preference.PreferenceModel
import
com.topjohnwu.magisk.data.repository.DBBoolSettingsNoWrite
import
com.topjohnwu.magisk.data.repository.DBConfig
import
com.topjohnwu.magisk.di.ServiceLocator
import
com.topjohnwu.magisk.ui.theme.Theme
import
kotlinx.coroutines.GlobalScope
import
org.xmlpull.v1.XmlPullParser
import
java.io.File
import
java.io.InputStream
object
Config
:
Preference
Model
,
DBConfig
{
object
Config
:
Preference
Config
,
DBConfig
{
override
val
stringDB
get
()
=
ServiceLocator
.
stringDB
override
val
settingsDB
get
()
=
ServiceLocator
.
settingsDB
override
val
context
get
()
=
ServiceLocator
.
deContext
override
val
coroutineScope
get
()
=
GlobalScope
@get
:
SuppressLint
(
"ApplySharedPref"
)
val
prefsFile
:
File
get
()
{
...
...
@@ -152,7 +154,7 @@ object Config : PreferenceModel, DBConfig {
var
suMultiuserMode
by
dbSettings
(
Key
.
SU_MULTIUSER_MODE
,
Value
.
MULTIUSER_MODE_OWNER_ONLY
)
var
suBiometric
by
dbSettings
(
Key
.
SU_BIOMETRIC
,
false
)
var
zygisk
by
dbSettings
(
Key
.
ZYGISK
,
false
)
var
denyList
by
DBBoolSettings
NoWrite
(
Key
.
DENYLIST
,
false
)
var
denyList
by
BoolDBProperty
NoWrite
(
Key
.
DENYLIST
,
false
)
var
suManager
by
dbStrings
(
Key
.
SU_MANAGER
,
""
,
true
)
var
keyStoreRaw
by
dbStrings
(
Key
.
KEYSTORE
,
""
,
true
)
...
...
app/src/main/java/com/topjohnwu/magisk/core/Hacks.kt
View file @
3bcaf0ed
...
...
@@ -13,8 +13,8 @@ import android.content.res.Resources
import
android.util.DisplayMetrics
import
com.topjohnwu.magisk.R
import
com.topjohnwu.magisk.StubApk
import
com.topjohnwu.magisk.core.di.AppContext
import
com.topjohnwu.magisk.core.utils.syncLocale
import
com.topjohnwu.magisk.di.AppContext
lateinit
var
AppApkPath
:
String
...
...
app/src/main/java/com/topjohnwu/magisk/core/Info.kt
View file @
3bcaf0ed
...
...
@@ -3,10 +3,10 @@ package com.topjohnwu.magisk.core
import
android.os.Build
import
androidx.databinding.ObservableBoolean
import
com.topjohnwu.magisk.StubApk
import
com.topjohnwu.magisk.core.di.AppContext
import
com.topjohnwu.magisk.core.model.UpdateInfo
import
com.topjohnwu.magisk.core.repository.NetworkService
import
com.topjohnwu.magisk.core.utils.net.NetworkObserver
import
com.topjohnwu.magisk.data.repository.NetworkService
import
com.topjohnwu.magisk.di.AppContext
import
com.topjohnwu.magisk.ktx.getProperty
import
com.topjohnwu.superuser.ShellUtils.fastCmd
import
com.topjohnwu.superuser.internal.UiThreadHandler
...
...
app/src/main/java/com/topjohnwu/magisk/core/JobService.kt
View file @
3bcaf0ed
...
...
@@ -7,7 +7,7 @@ import android.content.Context
import
androidx.core.content.getSystemService
import
com.topjohnwu.magisk.BuildConfig
import
com.topjohnwu.magisk.core.base.BaseJobService
import
com.topjohnwu.magisk.di.ServiceLocator
import
com.topjohnwu.magisk.
core.
di.ServiceLocator
import
com.topjohnwu.magisk.view.Notifications
import
kotlinx.coroutines.CoroutineScope
import
kotlinx.coroutines.Dispatchers
...
...
app/src/main/java/com/topjohnwu/magisk/core/Receiver.kt
View file @
3bcaf0ed
...
...
@@ -4,7 +4,7 @@ import android.annotation.SuppressLint
import
android.content.ContextWrapper
import
android.content.Intent
import
com.topjohnwu.magisk.core.base.BaseReceiver
import
com.topjohnwu.magisk.di.ServiceLocator
import
com.topjohnwu.magisk.
core.
di.ServiceLocator
import
com.topjohnwu.magisk.view.Notifications
import
com.topjohnwu.magisk.view.Shortcuts
import
com.topjohnwu.superuser.Shell
...
...
app/src/main/java/com/topjohnwu/magisk/
data/network
/NetworkServices.kt
→
app/src/main/java/com/topjohnwu/magisk/
core/data
/NetworkServices.kt
View file @
3bcaf0ed
package
com.topjohnwu.magisk.
data.network
package
com.topjohnwu.magisk.
core.data
import
com.topjohnwu.magisk.core.model.BranchInfo
import
com.topjohnwu.magisk.core.model.ModuleJson
...
...
app/src/main/java/com/topjohnwu/magisk/
data/database
/SuLogDao.kt
→
app/src/main/java/com/topjohnwu/magisk/
core/data
/SuLogDao.kt
View file @
3bcaf0ed
package
com.topjohnwu.magisk.
data.database
package
com.topjohnwu.magisk.
core.data
import
androidx.room.*
import
com.topjohnwu.magisk.core.model.su.SuLog
...
...
app/src/main/java/com/topjohnwu/magisk/core/magiskdb/MagiskDB.kt
→
app/src/main/java/com/topjohnwu/magisk/core/
data/
magiskdb/MagiskDB.kt
View file @
3bcaf0ed
package
com.topjohnwu.magisk.core.magiskdb
package
com.topjohnwu.magisk.core.
data.
magiskdb
import
com.topjohnwu.magisk.ktx.await
import
com.topjohnwu.superuser.Shell
...
...
app/src/main/java/com/topjohnwu/magisk/core/magiskdb/PolicyDao.kt
→
app/src/main/java/com/topjohnwu/magisk/core/
data/
magiskdb/PolicyDao.kt
View file @
3bcaf0ed
package
com.topjohnwu.magisk.core.magiskdb
package
com.topjohnwu.magisk.core.
data.
magiskdb
import
com.topjohnwu.magisk.core.Const
import
com.topjohnwu.magisk.core.di.AppContext
import
com.topjohnwu.magisk.core.model.su.SuPolicy
import
com.topjohnwu.magisk.di.AppContext
import
java.util.concurrent.TimeUnit
class
PolicyDao
:
MagiskDB
()
{
...
...
app/src/main/java/com/topjohnwu/magisk/core/magiskdb/SettingsDao.kt
→
app/src/main/java/com/topjohnwu/magisk/core/
data/
magiskdb/SettingsDao.kt
View file @
3bcaf0ed
package
com.topjohnwu.magisk.core.magiskdb
package
com.topjohnwu.magisk.core.
data.
magiskdb
class
SettingsDao
:
MagiskDB
()
{
...
...
app/src/main/java/com/topjohnwu/magisk/core/magiskdb/StringDao.kt
→
app/src/main/java/com/topjohnwu/magisk/core/
data/
magiskdb/StringDao.kt
View file @
3bcaf0ed
package
com.topjohnwu.magisk.core.magiskdb
package
com.topjohnwu.magisk.core.
data.
magiskdb
class
StringDao
:
MagiskDB
()
{
...
...
app/src/main/java/com/topjohnwu/magisk/di/Networking.kt
→
app/src/main/java/com/topjohnwu/magisk/
core/
di/Networking.kt
View file @
3bcaf0ed
package
com.topjohnwu.magisk.di
package
com.topjohnwu.magisk.
core.
di
import
android.content.Context
import
com.squareup.moshi.Moshi
...
...
app/src/main/java/com/topjohnwu/magisk/di/ServiceLocator.kt
→
app/src/main/java/com/topjohnwu/magisk/
core/
di/ServiceLocator.kt
View file @
3bcaf0ed
package
com.topjohnwu.magisk.di
package
com.topjohnwu.magisk.
core.
di
import
android.annotation.SuppressLint
import
android.content.Context
...
...
@@ -8,12 +8,12 @@ import androidx.lifecycle.ViewModelProvider
import
androidx.lifecycle.ViewModelStoreOwner
import
androidx.room.Room
import
com.topjohnwu.magisk.core.Const
import
com.topjohnwu.magisk.core.
magiskdb.PolicyDao
import
com.topjohnwu.magisk.core.
magiskdb.Settings
Dao
import
com.topjohnwu.magisk.core.
magiskdb.String
Dao
import
com.topjohnwu.magisk.
data.database.SuLogDatabase
import
com.topjohnwu.magisk.
data
.repository.LogRepository
import
com.topjohnwu.magisk.
data
.repository.NetworkService
import
com.topjohnwu.magisk.core.
data.SuLogDatabase
import
com.topjohnwu.magisk.core.
data.magiskdb.Policy
Dao
import
com.topjohnwu.magisk.core.
data.magiskdb.Settings
Dao
import
com.topjohnwu.magisk.
core.data.magiskdb.StringDao
import
com.topjohnwu.magisk.
core
.repository.LogRepository
import
com.topjohnwu.magisk.
core
.repository.NetworkService
import
com.topjohnwu.magisk.ktx.deviceProtectedContext
import
com.topjohnwu.magisk.ui.home.HomeViewModel
import
com.topjohnwu.magisk.ui.install.InstallViewModel
...
...
app/src/main/java/com/topjohnwu/magisk/core/download/DownloadService.kt
View file @
3bcaf0ed
...
...
@@ -11,7 +11,10 @@ import androidx.core.net.toFile
import
androidx.lifecycle.LifecycleOwner
import
com.topjohnwu.magisk.R
import
com.topjohnwu.magisk.StubApk
import
com.topjohnwu.magisk.core.*
import
com.topjohnwu.magisk.core.ActivityTracker
import
com.topjohnwu.magisk.core.Info
import
com.topjohnwu.magisk.core.intent
import
com.topjohnwu.magisk.core.isRunningAsStub
import
com.topjohnwu.magisk.core.tasks.HideAPK
import
com.topjohnwu.magisk.core.utils.MediaStoreUtils
import
com.topjohnwu.magisk.core.utils.MediaStoreUtils.outputStream
...
...
app/src/main/java/com/topjohnwu/magisk/core/download/NotificationService.kt
View file @
3bcaf0ed
...
...
@@ -6,8 +6,8 @@ import android.os.IBinder
import
androidx.lifecycle.MutableLiveData
import
com.topjohnwu.magisk.R
import
com.topjohnwu.magisk.core.base.BaseService
import
com.topjohnwu.magisk.core.di.ServiceLocator
import
com.topjohnwu.magisk.core.utils.ProgressInputStream
import
com.topjohnwu.magisk.di.ServiceLocator
import
com.topjohnwu.magisk.ktx.synchronized
import
com.topjohnwu.magisk.view.Notifications
import
okhttp3.ResponseBody
...
...
app/src/main/java/com/topjohnwu/magisk/core/download/Subject.kt
View file @
3bcaf0ed
...
...
@@ -8,11 +8,11 @@ import android.net.Uri
import
android.os.Parcelable
import
androidx.core.net.toUri
import
com.topjohnwu.magisk.core.Info
import
com.topjohnwu.magisk.core.di.AppContext
import
com.topjohnwu.magisk.core.model.MagiskJson
import
com.topjohnwu.magisk.core.model.StubJson
import
com.topjohnwu.magisk.core.model.module.OnlineModule
import
com.topjohnwu.magisk.core.utils.MediaStoreUtils
import
com.topjohnwu.magisk.di.AppContext
import
com.topjohnwu.magisk.ktx.cachedFile
import
com.topjohnwu.magisk.ui.flash.FlashFragment
import
com.topjohnwu.magisk.view.Notifications
...
...
app/src/main/java/com/topjohnwu/magisk/core/model/module/LocalModule.kt
View file @
3bcaf0ed
...
...
@@ -2,8 +2,8 @@ package com.topjohnwu.magisk.core.model.module
import
com.squareup.moshi.JsonDataException
import
com.topjohnwu.magisk.core.Const
import
com.topjohnwu.magisk.core.di.ServiceLocator
import
com.topjohnwu.magisk.core.utils.RootUtils
import
com.topjohnwu.magisk.di.ServiceLocator
import
com.topjohnwu.superuser.Shell
import
kotlinx.coroutines.Dispatchers
import
kotlinx.coroutines.withContext
...
...
app/src/main/java/com/topjohnwu/magisk/
data
/repository/DBConfig.kt
→
app/src/main/java/com/topjohnwu/magisk/
core
/repository/DBConfig.kt
View file @
3bcaf0ed
package
com.topjohnwu.magisk.
data
.repository
package
com.topjohnwu.magisk.
core
.repository
import
com.topjohnwu.magisk.core.magiskdb.SettingsDao
import
com.topjohnwu.magisk.core.magiskdb.StringDao
import
kotlinx.coroutines.
Global
Scope
import
com.topjohnwu.magisk.core.
data.
magiskdb.SettingsDao
import
com.topjohnwu.magisk.core.
data.
magiskdb.StringDao
import
kotlinx.coroutines.
Coroutine
Scope
import
kotlinx.coroutines.launch
import
kotlinx.coroutines.runBlocking
import
kotlin.properties.ReadWriteProperty
...
...
@@ -11,26 +11,27 @@ import kotlin.reflect.KProperty
interface
DBConfig
{
val
settingsDB
:
SettingsDao
val
stringDB
:
StringDao
val
coroutineScope
:
CoroutineScope
fun
dbSettings
(
name
:
String
,
default
:
Int
)
=
DBSettingsValue
(
name
,
default
)
)
=
IntDBProperty
(
name
,
default
)
fun
dbSettings
(
name
:
String
,
default
:
Boolean
)
=
DBBoolSettings
(
name
,
default
)
)
=
BoolDBProperty
(
name
,
default
)
fun
dbStrings
(
name
:
String
,
default
:
String
,
sync
:
Boolean
=
false
)
=
DBStringsValue
(
name
,
default
,
sync
)
)
=
StringDBProperty
(
name
,
default
,
sync
)
}
class
DBSettingsValue
(
class
IntDBProperty
(
private
val
name
:
String
,
private
val
default
:
Int
)
:
ReadWriteProperty
<
DBConfig
,
Int
>
{
...
...
@@ -48,18 +49,18 @@ class DBSettingsValue(
synchronized
(
this
)
{
this
.
value
=
value
}
Global
Scope
.
launch
{
thisRef
.
coroutine
Scope
.
launch
{
thisRef
.
settingsDB
.
put
(
name
,
value
)
}
}
}
open
class
DBBoolSettings
(
open
class
BoolDBProperty
(
name
:
String
,
default
:
Boolean
)
:
ReadWriteProperty
<
DBConfig
,
Boolean
>
{
val
base
=
DBSettingsValue
(
name
,
if
(
default
)
1
else
0
)
val
base
=
IntDBProperty
(
name
,
if
(
default
)
1
else
0
)
override
fun
getValue
(
thisRef
:
DBConfig
,
property
:
KProperty
<
*
>):
Boolean
=
base
.
getValue
(
thisRef
,
property
)
!=
0
...
...
@@ -68,10 +69,10 @@ open class DBBoolSettings(
base
.
setValue
(
thisRef
,
property
,
if
(
value
)
1
else
0
)
}
class
DBBoolSettings
NoWrite
(
class
BoolDBProperty
NoWrite
(
name
:
String
,
default
:
Boolean
)
:
DBBoolSettings
(
name
,
default
)
{
)
:
BoolDBProperty
(
name
,
default
)
{
override
fun
setValue
(
thisRef
:
DBConfig
,
property
:
KProperty
<
*
>,
value
:
Boolean
)
{
synchronized
(
base
)
{
base
.
value
=
if
(
value
)
1
else
0
...
...
@@ -79,7 +80,7 @@ class DBBoolSettingsNoWrite(
}
}
class
DBStringsValue
(
class
StringDBProperty
(
private
val
name
:
String
,
private
val
default
:
String
,
private
val
sync
:
Boolean
...
...
@@ -106,7 +107,7 @@ class DBStringsValue(
thisRef
.
stringDB
.
delete
(
name
)
}
}
else
{
Global
Scope
.
launch
{
thisRef
.
coroutine
Scope
.
launch
{
thisRef
.
stringDB
.
delete
(
name
)
}
}
...
...
@@ -116,7 +117,7 @@ class DBStringsValue(
thisRef
.
stringDB
.
put
(
name
,
value
)
}
}
else
{
Global
Scope
.
launch
{
thisRef
.
coroutine
Scope
.
launch
{
thisRef
.
stringDB
.
put
(
name
,
value
)
}
}
...
...
app/src/main/java/com/topjohnwu/magisk/
data
/repository/LogRepository.kt
→
app/src/main/java/com/topjohnwu/magisk/
core
/repository/LogRepository.kt
View file @
3bcaf0ed
package
com.topjohnwu.magisk.
data
.repository
package
com.topjohnwu.magisk.
core
.repository
import
com.topjohnwu.magisk.core.Const
import
com.topjohnwu.magisk.core.Info
import
com.topjohnwu.magisk.core.data.SuLogDao
import
com.topjohnwu.magisk.core.model.su.SuLog
import
com.topjohnwu.magisk.data.database.SuLogDao
import
com.topjohnwu.magisk.ktx.await
import
com.topjohnwu.superuser.Shell
...
...
app/src/main/java/com/topjohnwu/magisk/
data
/repository/NetworkService.kt
→
app/src/main/java/com/topjohnwu/magisk/
core
/repository/NetworkService.kt
View file @
3bcaf0ed
package
com.topjohnwu.magisk.
data
.repository
package
com.topjohnwu.magisk.
core
.repository
import
com.topjohnwu.magisk.core.Config
import
com.topjohnwu.magisk.core.Config.Value.BETA_CHANNEL
...
...
@@ -8,9 +8,9 @@ import com.topjohnwu.magisk.core.Config.Value.DEBUG_CHANNEL
import
com.topjohnwu.magisk.core.Config.Value.DEFAULT_CHANNEL
import
com.topjohnwu.magisk.core.Config.Value.STABLE_CHANNEL
import
com.topjohnwu.magisk.core.Info
import
com.topjohnwu.magisk.
data.network
.GithubApiServices
import
com.topjohnwu.magisk.
data.network
.GithubPageServices
import
com.topjohnwu.magisk.
data.network
.RawServices
import
com.topjohnwu.magisk.
core.data
.GithubApiServices
import
com.topjohnwu.magisk.
core.data
.GithubPageServices
import
com.topjohnwu.magisk.
core.data
.RawServices
import
retrofit2.HttpException
import
timber.log.Timber
import
java.io.IOException
...
...
app/src/main/java/com/topjohnwu/magisk/
data/preference/Property
.kt
→
app/src/main/java/com/topjohnwu/magisk/
core/repository/PreferenceConfig
.kt
View file @
3bcaf0ed
package
com.topjohnwu.magisk.
data.preference
package
com.topjohnwu.magisk.
core.repository
import
android.content.Context
import
android.content.SharedPreferences
import
androidx.core.content.edit
import
kotlin.properties.ReadWriteProperty
import
kotlin.reflect.KProperty
abstract
class
Property
{
interface
PreferenceConfig
{
val
context
:
Context
val
fileName
:
String
get
()
=
"${context.packageName}_preferences"
val
prefs
:
SharedPreferences
get
()
=
context
.
getSharedPreferences
(
fileName
,
Context
.
MODE_PRIVATE
)
fun
preferenceStrInt
(
name
:
String
,
default
:
Int
,
commit
:
Boolean
=
false
)
=
object
:
ReadWriteProperty
<
PreferenceConfig
,
Int
>
{
val
base
=
StringProperty
(
name
,
default
.
toString
(),
commit
)
override
fun
getValue
(
thisRef
:
PreferenceConfig
,
property
:
KProperty
<
*
>):
Int
=
base
.
getValue
(
thisRef
,
property
).
toInt
()
override
fun
setValue
(
thisRef
:
PreferenceConfig
,
property
:
KProperty
<
*
>,
value
:
Int
)
=
base
.
setValue
(
thisRef
,
property
,
value
.
toString
())
}
fun
preference
(
name
:
String
,
default
:
Boolean
,
commit
:
Boolean
=
false
)
=
BooleanProperty
(
name
,
default
,
commit
)
fun
preference
(
name
:
String
,
default
:
Float
,
commit
:
Boolean
=
false
)
=
FloatProperty
(
name
,
default
,
commit
)
fun
preference
(
name
:
String
,
default
:
Int
,
commit
:
Boolean
=
false
)
=
IntProperty
(
name
,
default
,
commit
)
fun
preference
(
name
:
String
,
default
:
Long
,
commit
:
Boolean
=
false
)
=
LongProperty
(
name
,
default
,
commit
)
fun
preference
(
name
:
String
,
default
:
String
,
commit
:
Boolean
=
false
)
=
StringProperty
(
name
,
default
,
commit
)
fun
preference
(
name
:
String
,
default
:
Set
<
String
>,
commit
:
Boolean
=
false
)
=
StringSetProperty
(
name
,
default
,
commit
)
}
abstract
class
PreferenceProperty
{
fun
SharedPreferences
.
Editor
.
put
(
name
:
String
,
value
:
Boolean
)
=
putBoolean
(
name
,
value
)
fun
SharedPreferences
.
Editor
.
put
(
name
:
String
,
value
:
Float
)
=
putFloat
(
name
,
value
)
...
...
@@ -27,10 +89,10 @@ class BooleanProperty(
private
val
name
:
String
,
private
val
default
:
Boolean
,
private
val
commit
:
Boolean
)
:
Pr
operty
(),
ReadWriteProperty
<
PreferenceModel
,
Boolean
>
{
)
:
Pr
eferenceProperty
(),
ReadWriteProperty
<
PreferenceConfig
,
Boolean
>
{
override
operator
fun
getValue
(
thisRef
:
Preference
Model
,
thisRef
:
Preference
Config
,
property
:
KProperty
<
*
>
):
Boolean
{
val
prefName
=
name
.
ifBlank
{
property
.
name
}
...
...
@@ -38,7 +100,7 @@ class BooleanProperty(
}
override
operator
fun
setValue
(
thisRef
:
Preference
Model
,
thisRef
:
Preference
Config
,
property
:
KProperty
<
*
>,
value
:
Boolean
)
{
...
...
@@ -51,10 +113,10 @@ class FloatProperty(
private
val
name
:
String
,
private
val
default
:
Float
,
private
val
commit
:
Boolean
)
:
Pr
operty
(),
ReadWriteProperty
<
PreferenceModel
,
Float
>
{
)
:
Pr
eferenceProperty
(),
ReadWriteProperty
<
PreferenceConfig
,
Float
>
{
override
operator
fun
getValue
(
thisRef
:
Preference
Model
,
thisRef
:
Preference
Config
,
property
:
KProperty
<
*
>
):
Float
{
val
prefName
=
name
.
ifBlank
{
property
.
name
}
...
...
@@ -62,7 +124,7 @@ class FloatProperty(
}
override
operator
fun
setValue
(
thisRef
:
Preference
Model
,
thisRef
:
Preference
Config
,
property
:
KProperty
<
*
>,
value
:
Float
)
{
...
...
@@ -75,10 +137,10 @@ class IntProperty(
private
val
name
:
String
,
private
val
default
:
Int
,
private
val
commit
:
Boolean
)
:
Pr
operty
(),
ReadWriteProperty
<
PreferenceModel
,
Int
>
{
)
:
Pr
eferenceProperty
(),
ReadWriteProperty
<
PreferenceConfig
,
Int
>
{
override
operator
fun
getValue
(
thisRef
:
Preference
Model
,
thisRef
:
Preference
Config
,
property
:
KProperty
<
*
>
):
Int
{
val
prefName
=
name
.
ifBlank
{
property
.
name
}
...
...
@@ -86,7 +148,7 @@ class IntProperty(
}
override
operator
fun
setValue
(
thisRef
:
Preference
Model
,
thisRef
:
Preference
Config
,
property
:
KProperty
<
*
>,
value
:
Int
)
{
...
...
@@ -99,10 +161,10 @@ class LongProperty(
private
val
name
:
String
,
private
val
default
:
Long
,
private
val
commit
:
Boolean
)
:
Pr
operty
(),
ReadWriteProperty
<
PreferenceModel
,
Long
>
{
)
:
Pr
eferenceProperty
(),
ReadWriteProperty
<
PreferenceConfig
,
Long
>
{
override
operator
fun
getValue
(
thisRef
:
Preference
Model
,
thisRef
:
Preference
Config
,
property
:
KProperty
<
*
>
):
Long
{
val
prefName
=
name
.
ifBlank
{
property
.
name
}
...
...
@@ -110,7 +172,7 @@ class LongProperty(
}
override
operator
fun
setValue
(
thisRef
:
Preference
Model
,
thisRef
:
Preference
Config
,
property
:
KProperty
<
*
>,
value
:
Long
)
{
...
...
@@ -123,10 +185,10 @@ class StringProperty(
private
val
name
:
String
,
private
val
default
:
String
,
private
val
commit
:
Boolean
)
:
Pr
operty
(),
ReadWriteProperty
<
PreferenceModel
,
String
>
{
)
:
Pr
eferenceProperty
(),
ReadWriteProperty
<
PreferenceConfig
,
String
>
{
override
operator
fun
getValue
(
thisRef
:
Preference
Model
,
thisRef
:
Preference
Config
,
property
:
KProperty
<
*
>
):
String
{
val
prefName
=
name
.
ifBlank
{
property
.
name
}
...
...
@@ -134,7 +196,7 @@ class StringProperty(
}
override
operator
fun
setValue
(
thisRef
:
Preference
Model
,
thisRef
:
Preference
Config
,
property
:
KProperty
<
*
>,
value
:
String
)
{
...
...
@@ -147,10 +209,10 @@ class StringSetProperty(
private
val
name
:
String
,
private
val
default
:
Set
<
String
>,
private
val
commit
:
Boolean
)
:
Pr
operty
(),
ReadWriteProperty
<
PreferenceModel
,
Set
<
String
>>
{
)
:
Pr
eferenceProperty
(),
ReadWriteProperty
<
PreferenceConfig
,
Set
<
String
>>
{
override
operator
fun
getValue
(
thisRef
:
Preference
Model
,
thisRef
:
Preference
Config
,
property
:
KProperty
<
*
>
):
Set
<
String
>
{
val
prefName
=
name
.
ifBlank
{
property
.
name
}
...
...
@@ -158,7 +220,7 @@ class StringSetProperty(
}
override
operator
fun
setValue
(
thisRef
:
Preference
Model
,
thisRef
:
Preference
Config
,
property
:
KProperty
<
*
>,
value
:
Set
<
String
>
)
{
...
...
app/src/main/java/com/topjohnwu/magisk/core/su/SuCallbackHandler.kt
View file @
3bcaf0ed
...
...
@@ -6,9 +6,9 @@ import android.widget.Toast
import
com.topjohnwu.magisk.BuildConfig
import
com.topjohnwu.magisk.R
import
com.topjohnwu.magisk.core.Config
import
com.topjohnwu.magisk.core.di.ServiceLocator
import
com.topjohnwu.magisk.core.model.su.SuPolicy
import
com.topjohnwu.magisk.core.model.su.createSuLog
import
com.topjohnwu.magisk.di.ServiceLocator
import
com.topjohnwu.magisk.ktx.getLabel
import
com.topjohnwu.magisk.ktx.getPackageInfo
import
com.topjohnwu.magisk.utils.Utils
...
...
app/src/main/java/com/topjohnwu/magisk/core/su/SuRequestHandler.kt
View file @
3bcaf0ed
...
...
@@ -5,7 +5,7 @@ import android.content.pm.PackageInfo
import
android.content.pm.PackageManager
import
com.topjohnwu.magisk.BuildConfig
import
com.topjohnwu.magisk.core.Config
import
com.topjohnwu.magisk.core.magiskdb.PolicyDao
import
com.topjohnwu.magisk.core.
data.
magiskdb.PolicyDao
import
com.topjohnwu.magisk.core.model.su.SuPolicy
import
com.topjohnwu.magisk.ktx.getPackageInfo
import
com.topjohnwu.superuser.Shell
...
...
app/src/main/java/com/topjohnwu/magisk/core/tasks/FlashZip.kt
View file @
3bcaf0ed
...
...
@@ -3,10 +3,10 @@ package com.topjohnwu.magisk.core.tasks
import
android.net.Uri
import
androidx.core.net.toFile
import
com.topjohnwu.magisk.core.Const
import
com.topjohnwu.magisk.core.di.AppContext
import
com.topjohnwu.magisk.core.utils.MediaStoreUtils.displayName
import
com.topjohnwu.magisk.core.utils.MediaStoreUtils.inputStream
import
com.topjohnwu.magisk.core.utils.unzip
import
com.topjohnwu.magisk.di.AppContext
import
com.topjohnwu.magisk.ktx.writeTo
import
com.topjohnwu.superuser.Shell
import
kotlinx.coroutines.Dispatchers
...
...
app/src/main/java/com/topjohnwu/magisk/core/tasks/HideAPK.kt
View file @
3bcaf0ed
...
...
@@ -11,9 +11,9 @@ import com.topjohnwu.magisk.core.Config
import
com.topjohnwu.magisk.core.Const
import
com.topjohnwu.magisk.core.Info
import
com.topjohnwu.magisk.core.Provider
import
com.topjohnwu.magisk.core.di.ServiceLocator
import
com.topjohnwu.magisk.core.utils.AXML
import
com.topjohnwu.magisk.core.utils.Keygen
import
com.topjohnwu.magisk.di.ServiceLocator
import
com.topjohnwu.magisk.ktx.await
import
com.topjohnwu.magisk.ktx.writeTo
import
com.topjohnwu.magisk.signing.JarMap
...
...
app/src/main/java/com/topjohnwu/magisk/core/tasks/MagiskInstaller.kt
View file @
3bcaf0ed
...
...
@@ -9,11 +9,11 @@ import com.topjohnwu.magisk.BuildConfig
import
com.topjohnwu.magisk.R
import
com.topjohnwu.magisk.StubApk
import
com.topjohnwu.magisk.core.*
import
com.topjohnwu.magisk.core.di.ServiceLocator
import
com.topjohnwu.magisk.core.utils.MediaStoreUtils
import
com.topjohnwu.magisk.core.utils.MediaStoreUtils.inputStream
import
com.topjohnwu.magisk.core.utils.MediaStoreUtils.outputStream
import
com.topjohnwu.magisk.core.utils.RootUtils
import
com.topjohnwu.magisk.di.ServiceLocator
import
com.topjohnwu.magisk.ktx.reboot
import
com.topjohnwu.magisk.ktx.withStreams
import
com.topjohnwu.magisk.ktx.writeTo
...
...
app/src/main/java/com/topjohnwu/magisk/core/utils/AXML.kt
View file @
3bcaf0ed
...
...
@@ -4,7 +4,6 @@ import java.io.ByteArrayOutputStream
import
java.nio.ByteBuffer
import
java.nio.ByteOrder.LITTLE_ENDIAN
import
java.nio.charset.Charset
import
java.util.*
class
AXML
(
b
:
ByteArray
)
{
...
...
app/src/main/java/com/topjohnwu/magisk/core/utils/BiometricHelper.kt
View file @
3bcaf0ed
...
...
@@ -6,7 +6,7 @@ import androidx.core.content.ContextCompat
import
androidx.fragment.app.FragmentActivity
import
com.topjohnwu.magisk.R
import
com.topjohnwu.magisk.core.Config
import
com.topjohnwu.magisk.di.AppContext
import
com.topjohnwu.magisk.
core.
di.AppContext
object
BiometricHelper
{
...
...
app/src/main/java/com/topjohnwu/magisk/core/utils/Locales.kt
View file @
3bcaf0ed
...
...
@@ -8,11 +8,10 @@ import android.content.res.Resources
import
com.topjohnwu.magisk.R
import
com.topjohnwu.magisk.core.Config
import
com.topjohnwu.magisk.core.createNewResources
import
com.topjohnwu.magisk.di.AppContext
import
com.topjohnwu.magisk.
core.
di.AppContext
import
kotlinx.coroutines.Dispatchers
import
kotlinx.coroutines.withContext
import
java.util.*
import
kotlin.collections.ArrayList
var
currentLocale
:
Locale
=
Locale
.
getDefault
()
...
...
app/src/main/java/com/topjohnwu/magisk/core/utils/MediaStoreUtils.kt
View file @
3bcaf0ed
...
...
@@ -11,7 +11,7 @@ import androidx.annotation.RequiresApi
import
androidx.core.net.toFile
import
androidx.core.net.toUri
import
com.topjohnwu.magisk.core.Config
import
com.topjohnwu.magisk.di.AppContext
import
com.topjohnwu.magisk.
core.
di.AppContext
import
java.io.File
import
java.io.FileNotFoundException
import
java.io.IOException
...
...
app/src/main/java/com/topjohnwu/magisk/data/preference/PreferenceModel.kt
deleted
100644 → 0
View file @
edb76503
package
com.topjohnwu.magisk.data.preference
import
android.content.Context
import
android.content.SharedPreferences
import
kotlin.properties.ReadWriteProperty
import
kotlin.reflect.KProperty
interface
PreferenceModel
{
val
context
:
Context
val
fileName
:
String
get
()
=
"${context.packageName}_preferences"
val
prefs
:
SharedPreferences
get
()
=
context
.
getSharedPreferences
(
fileName
,
Context
.
MODE_PRIVATE
)
fun
preferenceStrInt
(
name
:
String
,
default
:
Int
,
commit
:
Boolean
=
false
)
=
object
:
ReadWriteProperty
<
PreferenceModel
,
Int
>
{
val
base
=
StringProperty
(
name
,
default
.
toString
(),
commit
)
override
fun
getValue
(
thisRef
:
PreferenceModel
,
property
:
KProperty
<
*
>):
Int
=
base
.
getValue
(
thisRef
,
property
).
toInt
()
override
fun
setValue
(
thisRef
:
PreferenceModel
,
property
:
KProperty
<
*
>,
value
:
Int
)
=
base
.
setValue
(
thisRef
,
property
,
value
.
toString
())
}
fun
preference
(
name
:
String
,
default
:
Boolean
,
commit
:
Boolean
=
false
)
=
BooleanProperty
(
name
,
default
,
commit
)
fun
preference
(
name
:
String
,
default
:
Float
,
commit
:
Boolean
=
false
)
=
FloatProperty
(
name
,
default
,
commit
)
fun
preference
(
name
:
String
,
default
:
Int
,
commit
:
Boolean
=
false
)
=
IntProperty
(
name
,
default
,
commit
)
fun
preference
(
name
:
String
,
default
:
Long
,
commit
:
Boolean
=
false
)
=
LongProperty
(
name
,
default
,
commit
)
fun
preference
(
name
:
String
,
default
:
String
,
commit
:
Boolean
=
false
)
=
StringProperty
(
name
,
default
,
commit
)
fun
preference
(
name
:
String
,
default
:
Set
<
String
>,
commit
:
Boolean
=
false
)
=
StringSetProperty
(
name
,
default
,
commit
)
}
app/src/main/java/com/topjohnwu/magisk/databinding/DataBindingAdapters.kt
View file @
3bcaf0ed
...
...
@@ -29,7 +29,7 @@ import com.google.android.material.card.MaterialCardView
import
com.google.android.material.chip.Chip
import
com.google.android.material.textfield.TextInputLayout
import
com.topjohnwu.magisk.R
import
com.topjohnwu.magisk.di.ServiceLocator
import
com.topjohnwu.magisk.
core.
di.ServiceLocator
import
com.topjohnwu.superuser.internal.UiThreadHandler
import
com.topjohnwu.widget.IndeterminateCheckBox
import
kotlin.math.roundToInt
...
...
app/src/main/java/com/topjohnwu/magisk/databinding/DiffObservableList.kt
View file @
3bcaf0ed
...
...
@@ -6,7 +6,6 @@ import androidx.databinding.ObservableList
import
androidx.recyclerview.widget.DiffUtil
import
androidx.recyclerview.widget.ListUpdateCallback
import
java.util.*
import
kotlin.collections.ArrayList
/**
* @param callback The callback that controls the behavior of the DiffObservableList.
...
...
app/src/main/java/com/topjohnwu/magisk/events/dialog/ManagerInstallDialog.kt
View file @
3bcaf0ed
...
...
@@ -2,10 +2,10 @@ package com.topjohnwu.magisk.events.dialog
import
com.topjohnwu.magisk.R
import
com.topjohnwu.magisk.core.Info
import
com.topjohnwu.magisk.core.di.AppContext
import
com.topjohnwu.magisk.core.di.ServiceLocator
import
com.topjohnwu.magisk.core.download.DownloadService
import
com.topjohnwu.magisk.core.download.Subject
import
com.topjohnwu.magisk.di.AppContext
import
com.topjohnwu.magisk.di.ServiceLocator
import
com.topjohnwu.magisk.view.MagiskDialog
import
java.io.File
...
...
app/src/main/java/com/topjohnwu/magisk/events/dialog/MarkDownDialog.kt
View file @
3bcaf0ed
...
...
@@ -6,7 +6,7 @@ import androidx.annotation.CallSuper
import
androidx.lifecycle.lifecycleScope
import
com.topjohnwu.magisk.R
import
com.topjohnwu.magisk.core.base.BaseActivity
import
com.topjohnwu.magisk.di.ServiceLocator
import
com.topjohnwu.magisk.
core.
di.ServiceLocator
import
com.topjohnwu.magisk.view.MagiskDialog
import
kotlinx.coroutines.Dispatchers
import
kotlinx.coroutines.launch
...
...
app/src/main/java/com/topjohnwu/magisk/events/dialog/ModuleInstallDialog.kt
View file @
3bcaf0ed
package
com.topjohnwu.magisk.events.dialog
import
com.topjohnwu.magisk.R
import
com.topjohnwu.magisk.core.di.ServiceLocator
import
com.topjohnwu.magisk.core.download.Action
import
com.topjohnwu.magisk.core.download.DownloadService
import
com.topjohnwu.magisk.core.download.Subject
import
com.topjohnwu.magisk.core.model.module.OnlineModule
import
com.topjohnwu.magisk.di.ServiceLocator
import
com.topjohnwu.magisk.view.MagiskDialog
class
ModuleInstallDialog
(
private
val
item
:
OnlineModule
)
:
MarkDownDialog
()
{
...
...
app/src/main/java/com/topjohnwu/magisk/signing/SignApk.java
View file @
3bcaf0ed
...
...
@@ -17,7 +17,6 @@ import org.bouncycastle.operator.jcajce.JcaDigestCalculatorProviderBuilder;
import
org.bouncycastle.util.encoders.Base64
;
import
java.io.ByteArrayOutputStream
;
import
java.io.FileOutputStream
;
import
java.io.FilterOutputStream
;
import
java.io.IOException
;
import
java.io.InputStream
;
...
...
app/src/main/java/com/topjohnwu/magisk/ui/MainActivity.kt
View file @
3bcaf0ed
...
...
@@ -18,9 +18,9 @@ import com.topjohnwu.magisk.arch.BaseViewModel
import
com.topjohnwu.magisk.core.Config
import
com.topjohnwu.magisk.core.Const
import
com.topjohnwu.magisk.core.Info
import
com.topjohnwu.magisk.core.di.viewModel
import
com.topjohnwu.magisk.core.isRunningAsStub
import
com.topjohnwu.magisk.databinding.ActivityMainMd2Binding
import
com.topjohnwu.magisk.di.viewModel
import
com.topjohnwu.magisk.ktx.startAnimations
import
com.topjohnwu.magisk.ui.home.HomeFragmentDirections
import
com.topjohnwu.magisk.utils.Utils
...
...
app/src/main/java/com/topjohnwu/magisk/ui/deny/DenyListFragment.kt
View file @
3bcaf0ed
...
...
@@ -10,8 +10,8 @@ import androidx.appcompat.widget.SearchView
import
androidx.recyclerview.widget.RecyclerView
import
com.topjohnwu.magisk.R
import
com.topjohnwu.magisk.arch.BaseFragment
import
com.topjohnwu.magisk.core.di.viewModel
import
com.topjohnwu.magisk.databinding.FragmentDenyMd2Binding
import
com.topjohnwu.magisk.di.viewModel
import
com.topjohnwu.magisk.ktx.hideKeyboard
import
rikka.recyclerview.addEdgeSpacing
import
rikka.recyclerview.addItemSpacing
...
...
app/src/main/java/com/topjohnwu/magisk/ui/deny/DenyListViewModel.kt
View file @
3bcaf0ed
...
...
@@ -5,15 +5,18 @@ import android.content.pm.PackageManager.MATCH_UNINSTALLED_PACKAGES
import
androidx.lifecycle.viewModelScope
import
com.topjohnwu.magisk.BR
import
com.topjohnwu.magisk.arch.BaseViewModel
import
com.topjohnwu.magisk.core.di.AppContext
import
com.topjohnwu.magisk.databinding.filterableListOf
import
com.topjohnwu.magisk.databinding.itemBindingOf
import
com.topjohnwu.magisk.di.AppContext
import
com.topjohnwu.magisk.ktx.concurrentMap
import
com.topjohnwu.magisk.utils.Utils
import
com.topjohnwu.superuser.Shell
import
kotlinx.coroutines.*
import
kotlinx.coroutines.flow.*
import
java.util.*
import
kotlinx.coroutines.Dispatchers
import
kotlinx.coroutines.flow.asFlow
import
kotlinx.coroutines.flow.filter
import
kotlinx.coroutines.flow.toCollection
import
kotlinx.coroutines.launch
import
kotlinx.coroutines.withContext
class
DenyListViewModel
:
BaseViewModel
()
{
...
...
app/src/main/java/com/topjohnwu/magisk/ui/flash/FlashFragment.kt
View file @
3bcaf0ed
...
...
@@ -12,8 +12,8 @@ import com.topjohnwu.magisk.R
import
com.topjohnwu.magisk.arch.BaseFragment
import
com.topjohnwu.magisk.core.Const
import
com.topjohnwu.magisk.core.cmp
import
com.topjohnwu.magisk.core.di.viewModel
import
com.topjohnwu.magisk.databinding.FragmentFlashMd2Binding
import
com.topjohnwu.magisk.di.viewModel
import
com.topjohnwu.magisk.ui.MainActivity
class
FlashFragment
:
BaseFragment
<
FragmentFlashMd2Binding
>()
{
...
...
app/src/main/java/com/topjohnwu/magisk/ui/home/HomeFragment.kt
View file @
3bcaf0ed
...
...
@@ -7,9 +7,9 @@ import android.widget.TextView
import
com.topjohnwu.magisk.R
import
com.topjohnwu.magisk.arch.BaseFragment
import
com.topjohnwu.magisk.core.Info
import
com.topjohnwu.magisk.core.di.viewModel
import
com.topjohnwu.magisk.core.download.DownloadService
import
com.topjohnwu.magisk.databinding.FragmentHomeMd2Binding
import
com.topjohnwu.magisk.di.viewModel
import
com.topjohnwu.magisk.events.RebootEvent
class
HomeFragment
:
BaseFragment
<
FragmentHomeMd2Binding
>()
{
...
...
app/src/main/java/com/topjohnwu/magisk/ui/home/HomeViewModel.kt
View file @
3bcaf0ed
...
...
@@ -11,7 +11,7 @@ import com.topjohnwu.magisk.core.Config
import
com.topjohnwu.magisk.core.Info
import
com.topjohnwu.magisk.core.download.Subject
import
com.topjohnwu.magisk.core.download.Subject.App
import
com.topjohnwu.magisk.
data
.repository.NetworkService
import
com.topjohnwu.magisk.
core
.repository.NetworkService
import
com.topjohnwu.magisk.databinding.itemBindingOf
import
com.topjohnwu.magisk.databinding.set
import
com.topjohnwu.magisk.events.SnackbarEvent
...
...
app/src/main/java/com/topjohnwu/magisk/ui/install/InstallFragment.kt
View file @
3bcaf0ed
...
...
@@ -2,8 +2,8 @@ package com.topjohnwu.magisk.ui.install
import
com.topjohnwu.magisk.R
import
com.topjohnwu.magisk.arch.BaseFragment
import
com.topjohnwu.magisk.core.di.viewModel
import
com.topjohnwu.magisk.databinding.FragmentInstallMd2Binding
import
com.topjohnwu.magisk.di.viewModel
class
InstallFragment
:
BaseFragment
<
FragmentInstallMd2Binding
>()
{
...
...
app/src/main/java/com/topjohnwu/magisk/ui/install/InstallViewModel.kt
View file @
3bcaf0ed
...
...
@@ -18,10 +18,10 @@ import com.topjohnwu.magisk.core.Config
import
com.topjohnwu.magisk.core.Const
import
com.topjohnwu.magisk.core.Info
import
com.topjohnwu.magisk.core.base.ContentResultCallback
import
com.topjohnwu.magisk.data.repository.NetworkService
import
com.topjohnwu.magisk.core.di.AppContext
import
com.topjohnwu.magisk.core.di.ServiceLocator
import
com.topjohnwu.magisk.core.repository.NetworkService
import
com.topjohnwu.magisk.databinding.set
import
com.topjohnwu.magisk.di.AppContext
import
com.topjohnwu.magisk.di.ServiceLocator
import
com.topjohnwu.magisk.events.GetContentEvent
import
com.topjohnwu.magisk.events.dialog.SecondSlotWarningDialog
import
com.topjohnwu.magisk.ui.flash.FlashFragment
...
...
app/src/main/java/com/topjohnwu/magisk/ui/log/LogFragment.kt
View file @
3bcaf0ed
...
...
@@ -8,8 +8,8 @@ import android.view.View
import
androidx.core.view.isVisible
import
com.topjohnwu.magisk.R
import
com.topjohnwu.magisk.arch.BaseFragment
import
com.topjohnwu.magisk.core.di.viewModel
import
com.topjohnwu.magisk.databinding.FragmentLogMd2Binding
import
com.topjohnwu.magisk.di.viewModel
import
com.topjohnwu.magisk.ui.MainActivity
import
com.topjohnwu.magisk.utils.MotionRevealHelper
import
rikka.recyclerview.addEdgeSpacing
...
...
app/src/main/java/com/topjohnwu/magisk/ui/log/LogViewModel.kt
View file @
3bcaf0ed
...
...
@@ -7,9 +7,9 @@ import com.topjohnwu.magisk.BuildConfig
import
com.topjohnwu.magisk.R
import
com.topjohnwu.magisk.arch.BaseViewModel
import
com.topjohnwu.magisk.core.Info
import
com.topjohnwu.magisk.core.repository.LogRepository
import
com.topjohnwu.magisk.core.utils.MediaStoreUtils
import
com.topjohnwu.magisk.core.utils.MediaStoreUtils.outputStream
import
com.topjohnwu.magisk.data.repository.LogRepository
import
com.topjohnwu.magisk.databinding.diffListOf
import
com.topjohnwu.magisk.databinding.itemBindingOf
import
com.topjohnwu.magisk.databinding.set
...
...
app/src/main/java/com/topjohnwu/magisk/ui/module/ModuleFragment.kt
View file @
3bcaf0ed
...
...
@@ -6,10 +6,10 @@ import com.topjohnwu.magisk.MainDirections
import
com.topjohnwu.magisk.R
import
com.topjohnwu.magisk.arch.BaseFragment
import
com.topjohnwu.magisk.core.Const
import
com.topjohnwu.magisk.core.di.viewModel
import
com.topjohnwu.magisk.databinding.FragmentModuleMd2Binding
import
com.topjohnwu.magisk.databinding.RvItem
import
com.topjohnwu.magisk.databinding.adapterOf
import
com.topjohnwu.magisk.di.viewModel
import
rikka.recyclerview.addEdgeSpacing
import
rikka.recyclerview.addInvalidateItemDecorationsObserver
import
rikka.recyclerview.addItemSpacing
...
...
app/src/main/java/com/topjohnwu/magisk/ui/settings/SettingsFragment.kt
View file @
3bcaf0ed
...
...
@@ -4,8 +4,8 @@ import android.os.Bundle
import
android.view.View
import
com.topjohnwu.magisk.R
import
com.topjohnwu.magisk.arch.BaseFragment
import
com.topjohnwu.magisk.core.di.viewModel
import
com.topjohnwu.magisk.databinding.FragmentSettingsMd2Binding
import
com.topjohnwu.magisk.di.viewModel
import
rikka.recyclerview.addEdgeSpacing
import
rikka.recyclerview.addItemSpacing
import
rikka.recyclerview.fixEdgeEffect
...
...
app/src/main/java/com/topjohnwu/magisk/ui/settings/SettingsItems.kt
View file @
3bcaf0ed
...
...
@@ -13,6 +13,7 @@ import com.topjohnwu.magisk.core.Config
import
com.topjohnwu.magisk.core.Const
import
com.topjohnwu.magisk.core.Info
import
com.topjohnwu.magisk.core.JobService
import
com.topjohnwu.magisk.core.di.AppContext
import
com.topjohnwu.magisk.core.tasks.HideAPK
import
com.topjohnwu.magisk.core.utils.BiometricHelper
import
com.topjohnwu.magisk.core.utils.MediaStoreUtils
...
...
@@ -22,7 +23,6 @@ import com.topjohnwu.magisk.databinding.DialogSettingsAppNameBinding
import
com.topjohnwu.magisk.databinding.DialogSettingsDownloadPathBinding
import
com.topjohnwu.magisk.databinding.DialogSettingsUpdateChannelBinding
import
com.topjohnwu.magisk.databinding.set
import
com.topjohnwu.magisk.di.AppContext
import
com.topjohnwu.magisk.utils.Utils
import
com.topjohnwu.magisk.utils.asText
import
com.topjohnwu.magisk.view.MagiskDialog
...
...
app/src/main/java/com/topjohnwu/magisk/ui/settings/SettingsViewModel.kt
View file @
3bcaf0ed
...
...
@@ -11,11 +11,11 @@ import com.topjohnwu.magisk.R
import
com.topjohnwu.magisk.arch.BaseViewModel
import
com.topjohnwu.magisk.core.Const
import
com.topjohnwu.magisk.core.Info
import
com.topjohnwu.magisk.core.di.AppContext
import
com.topjohnwu.magisk.core.isRunningAsStub
import
com.topjohnwu.magisk.core.tasks.HideAPK
import
com.topjohnwu.magisk.databinding.adapterOf
import
com.topjohnwu.magisk.databinding.itemBindingOf
import
com.topjohnwu.magisk.di.AppContext
import
com.topjohnwu.magisk.events.AddHomeIconEvent
import
com.topjohnwu.magisk.events.RecreateEvent
import
com.topjohnwu.magisk.events.SnackbarEvent
...
...
app/src/main/java/com/topjohnwu/magisk/ui/superuser/SuperuserFragment.kt
View file @
3bcaf0ed
...
...
@@ -4,10 +4,10 @@ import android.os.Bundle
import
android.view.View
import
com.topjohnwu.magisk.R
import
com.topjohnwu.magisk.arch.BaseFragment
import
com.topjohnwu.magisk.core.di.viewModel
import
com.topjohnwu.magisk.databinding.AnyDiffRvItem
import
com.topjohnwu.magisk.databinding.FragmentSuperuserMd2Binding
import
com.topjohnwu.magisk.databinding.adapterOf
import
com.topjohnwu.magisk.di.viewModel
import
rikka.recyclerview.addEdgeSpacing
import
rikka.recyclerview.addItemSpacing
import
rikka.recyclerview.fixEdgeEffect
...
...
app/src/main/java/com/topjohnwu/magisk/ui/superuser/SuperuserViewModel.kt
View file @
3bcaf0ed
...
...
@@ -8,14 +8,14 @@ import androidx.lifecycle.viewModelScope
import
com.topjohnwu.magisk.BR
import
com.topjohnwu.magisk.R
import
com.topjohnwu.magisk.arch.BaseViewModel
import
com.topjohnwu.magisk.core.magiskdb.PolicyDao
import
com.topjohnwu.magisk.core.data.magiskdb.PolicyDao
import
com.topjohnwu.magisk.core.di.AppContext
import
com.topjohnwu.magisk.core.model.su.SuPolicy
import
com.topjohnwu.magisk.core.utils.BiometricHelper
import
com.topjohnwu.magisk.core.utils.currentLocale
import
com.topjohnwu.magisk.databinding.AnyDiffRvItem
import
com.topjohnwu.magisk.databinding.diffListOf
import
com.topjohnwu.magisk.databinding.itemBindingOf
import
com.topjohnwu.magisk.di.AppContext
import
com.topjohnwu.magisk.events.SnackbarEvent
import
com.topjohnwu.magisk.events.dialog.BiometricEvent
import
com.topjohnwu.magisk.events.dialog.SuperuserRevokeDialog
...
...
app/src/main/java/com/topjohnwu/magisk/ui/surequest/SuRequestActivity.kt
View file @
3bcaf0ed
...
...
@@ -10,10 +10,10 @@ import android.view.WindowManager
import
androidx.lifecycle.lifecycleScope
import
com.topjohnwu.magisk.R
import
com.topjohnwu.magisk.arch.UIActivity
import
com.topjohnwu.magisk.core.di.viewModel
import
com.topjohnwu.magisk.core.su.SuCallbackHandler
import
com.topjohnwu.magisk.core.su.SuCallbackHandler.REQUEST
import
com.topjohnwu.magisk.databinding.ActivityRequestBinding
import
com.topjohnwu.magisk.di.viewModel
import
com.topjohnwu.magisk.ui.theme.Theme
import
kotlinx.coroutines.Dispatchers
import
kotlinx.coroutines.launch
...
...
app/src/main/java/com/topjohnwu/magisk/ui/surequest/SuRequestViewModel.kt
View file @
3bcaf0ed
...
...
@@ -20,13 +20,13 @@ import com.topjohnwu.magisk.BR
import
com.topjohnwu.magisk.R
import
com.topjohnwu.magisk.arch.BaseViewModel
import
com.topjohnwu.magisk.core.Config
import
com.topjohnwu.magisk.core.magiskdb.PolicyDao
import
com.topjohnwu.magisk.core.data.magiskdb.PolicyDao
import
com.topjohnwu.magisk.core.di.AppContext
import
com.topjohnwu.magisk.core.model.su.SuPolicy.Companion.ALLOW
import
com.topjohnwu.magisk.core.model.su.SuPolicy.Companion.DENY
import
com.topjohnwu.magisk.core.su.SuRequestHandler
import
com.topjohnwu.magisk.core.utils.BiometricHelper
import
com.topjohnwu.magisk.databinding.set
import
com.topjohnwu.magisk.di.AppContext
import
com.topjohnwu.magisk.events.DieEvent
import
com.topjohnwu.magisk.events.ShowUIEvent
import
com.topjohnwu.magisk.events.dialog.BiometricEvent
...
...
app/src/main/java/com/topjohnwu/magisk/ui/theme/ThemeFragment.kt
View file @
3bcaf0ed
...
...
@@ -9,9 +9,9 @@ import android.widget.FrameLayout
import
com.topjohnwu.magisk.BR
import
com.topjohnwu.magisk.R
import
com.topjohnwu.magisk.arch.BaseFragment
import
com.topjohnwu.magisk.core.di.viewModel
import
com.topjohnwu.magisk.databinding.FragmentThemeMd2Binding
import
com.topjohnwu.magisk.databinding.ItemThemeBindingImpl
import
com.topjohnwu.magisk.di.viewModel
class
ThemeFragment
:
BaseFragment
<
FragmentThemeMd2Binding
>()
{
...
...
app/src/main/java/com/topjohnwu/magisk/utils/Utils.kt
View file @
3bcaf0ed
...
...
@@ -9,7 +9,7 @@ import com.topjohnwu.magisk.R
import
com.topjohnwu.magisk.core.Config
import
com.topjohnwu.magisk.core.Const
import
com.topjohnwu.magisk.core.Info
import
com.topjohnwu.magisk.di.AppContext
import
com.topjohnwu.magisk.
core.
di.AppContext
import
com.topjohnwu.superuser.internal.UiThreadHandler
object
Utils
{
...
...
app/src/main/java/com/topjohnwu/magisk/view/Notifications.kt
View file @
3bcaf0ed
...
...
@@ -11,9 +11,9 @@ import android.os.Build.VERSION.SDK_INT
import
androidx.core.content.getSystemService
import
androidx.core.graphics.drawable.toIcon
import
com.topjohnwu.magisk.R
import
com.topjohnwu.magisk.core.di.AppContext
import
com.topjohnwu.magisk.core.download.DownloadService
import
com.topjohnwu.magisk.core.download.Subject
import
com.topjohnwu.magisk.di.AppContext
import
com.topjohnwu.magisk.ktx.getBitmap
import
java.util.concurrent.atomic.AtomicInteger
...
...
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