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
28fcbbcf
Commit
28fcbbcf
authored
Oct 17, 2019
by
Viktor De Pasquale
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added basic preferences to settings
parent
0f432615
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
131 additions
and
5 deletions
+131
-5
ViewEvents.kt
...main/java/com/topjohnwu/magisk/model/events/ViewEvents.kt
+11
-1
SettingsFragment.kt
...om/topjohnwu/magisk/redesign/settings/SettingsFragment.kt
+9
-0
SettingsViewModel.kt
...m/topjohnwu/magisk/redesign/settings/SettingsViewModel.kt
+26
-1
fragment_settings_md2.xml
app/src/main/res/layout/fragment_settings_md2.xml
+85
-3
No files found.
app/src/main/java/com/topjohnwu/magisk/model/events/ViewEvents.kt
View file @
28fcbbcf
...
@@ -85,4 +85,14 @@ class BackPressEvent : ViewEvent(), ActivityExecutor {
...
@@ -85,4 +85,14 @@ class BackPressEvent : ViewEvent(), ActivityExecutor {
}
}
}
}
class
DieEvent
:
ViewEvent
()
class
DieEvent
:
ViewEvent
(),
ActivityExecutor
{
override
fun
invoke
(
activity
:
AppCompatActivity
)
{
activity
.
finish
()
}
}
class
RecreateEvent
:
ViewEvent
(),
ActivityExecutor
{
override
fun
invoke
(
activity
:
AppCompatActivity
)
{
activity
.
recreate
()
}
}
app/src/main/java/com/topjohnwu/magisk/redesign/settings/SettingsFragment.kt
View file @
28fcbbcf
package
com.topjohnwu.magisk.redesign.settings
package
com.topjohnwu.magisk.redesign.settings
import
android.graphics.Insets
import
com.topjohnwu.magisk.R
import
com.topjohnwu.magisk.R
import
com.topjohnwu.magisk.databinding.FragmentSettingsMd2Binding
import
com.topjohnwu.magisk.databinding.FragmentSettingsMd2Binding
import
com.topjohnwu.magisk.redesign.compat.CompatFragment
import
com.topjohnwu.magisk.redesign.compat.CompatFragment
...
@@ -10,4 +11,12 @@ class SettingsFragment : CompatFragment<SettingsViewModel, FragmentSettingsMd2Bi
...
@@ -10,4 +11,12 @@ class SettingsFragment : CompatFragment<SettingsViewModel, FragmentSettingsMd2Bi
override
val
layoutRes
=
R
.
layout
.
fragment_settings_md2
override
val
layoutRes
=
R
.
layout
.
fragment_settings_md2
override
val
viewModel
by
viewModel
<
SettingsViewModel
>()
override
val
viewModel
by
viewModel
<
SettingsViewModel
>()
override
fun
consumeSystemWindowInsets
(
insets
:
Insets
)
=
insets
override
fun
onStart
()
{
super
.
onStart
()
activity
.
title
=
resources
.
getString
(
R
.
string
.
section_settings
)
}
}
}
\ No newline at end of file
app/src/main/java/com/topjohnwu/magisk/redesign/settings/SettingsViewModel.kt
View file @
28fcbbcf
package
com.topjohnwu.magisk.redesign.settings
package
com.topjohnwu.magisk.redesign.settings
import
com.topjohnwu.magisk.Config
import
com.topjohnwu.magisk.extensions.addOnPropertyChangedCallback
import
com.topjohnwu.magisk.extensions.toggle
import
com.topjohnwu.magisk.model.events.DieEvent
import
com.topjohnwu.magisk.model.events.RecreateEvent
import
com.topjohnwu.magisk.redesign.compat.CompatViewModel
import
com.topjohnwu.magisk.redesign.compat.CompatViewModel
import
com.topjohnwu.magisk.utils.KObservableField
class
SettingsViewModel
:
CompatViewModel
()
class
SettingsViewModel
:
CompatViewModel
()
{
\ No newline at end of file
val
redesign
=
KObservableField
(
Config
.
redesign
)
val
darkTheme
=
KObservableField
(
Config
.
darkTheme
)
init
{
//todo make observable preference
redesign
.
addOnPropertyChangedCallback
{
Config
.
redesign
=
redesign
.
value
DieEvent
().
publish
()
}
darkTheme
.
addOnPropertyChangedCallback
{
Config
.
darkTheme
=
darkTheme
.
value
RecreateEvent
().
publish
()
}
}
fun
toggle
(
item
:
KObservableField
<
Boolean
>)
=
item
.
toggle
()
}
\ No newline at end of file
app/src/main/res/layout/fragment_settings_md2.xml
View file @
28fcbbcf
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<layout
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<layout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
xmlns:tools=
"http://schemas.android.com/tools"
>
<data>
<data>
...
@@ -12,11 +14,91 @@
...
@@ -12,11 +14,91 @@
<androidx.core.widget.NestedScrollView
<androidx.core.widget.NestedScrollView
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_height=
"match_parent"
android:fillViewport=
"true"
>
android:clipToPadding=
"false"
android:fillViewport=
"true"
android:paddingTop=
"@{viewModel.insets.top + (int) @dimen/internal_action_bar_size + (int) @dimen/l2}"
android:paddingBottom=
"@{viewModel.insets.bottom + (int) @dimen/l2}"
tools:layout_marginTop=
"24dp"
>
<androidx.constraintlayout.widget.ConstraintLayout
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
/>
android:layout_height=
"wrap_content"
>
<com.google.android.material.card.MaterialCardView
android:id=
"@+id/settings_card_dark"
style=
"?styleCardNormal"
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_marginStart=
"@dimen/l2"
android:layout_marginTop=
"@dimen/l1"
android:onClick=
"@{() -> viewModel.toggle(viewModel.darkTheme)}"
app:layout_constraintEnd_toStartOf=
"@+id/settings_card_redesign"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:orientation=
"vertical"
android:padding=
"@dimen/l1"
>
<androidx.appcompat.widget.AppCompatTextView
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center"
android:gravity=
"center"
android:text=
"@string/settings_dark_theme_title"
android:textAppearance=
"?appearanceTextTitleNormal"
/>
<com.google.android.material.switchmaterial.SwitchMaterial
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center"
android:checked=
"@={viewModel.darkTheme}"
/>
</LinearLayout>
</com.google.android.material.card.MaterialCardView>
<com.google.android.material.card.MaterialCardView
android:id=
"@+id/settings_card_redesign"
style=
"?styleCardNormal"
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_marginLeft=
"@dimen/l2"
android:layout_marginTop=
"@dimen/l1"
android:layout_marginRight=
"@dimen/l2"
android:layout_marginBottom=
"@dimen/l2"
android:onClick=
"@{() -> viewModel.toggle(viewModel.redesign)}"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toEndOf=
"@+id/settings_card_dark"
app:layout_constraintTop_toTopOf=
"parent"
>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:orientation=
"vertical"
android:padding=
"@dimen/l1"
>
<androidx.appcompat.widget.AppCompatTextView
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center"
android:gravity=
"center"
android:text=
"Redesign"
android:textAppearance=
"?appearanceTextTitleNormal"
/>
<com.google.android.material.switchmaterial.SwitchMaterial
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center"
android:checked=
"@={viewModel.redesign}"
/>
</LinearLayout>
</com.google.android.material.card.MaterialCardView>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.core.widget.NestedScrollView>
</androidx.core.widget.NestedScrollView>
...
...
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