Cherish: Add navbar layout inversion tuning [2/2]

Signed-off-by: Hưng Phan <phandinhhungvp2001@gmail.com>
This commit is contained in:
jhonboy121
2022-02-26 12:32:45 +05:00
committed by Hưng Phan
parent 49bf415d75
commit f479baa3a5
3 changed files with 51 additions and 0 deletions

View File

@@ -197,5 +197,8 @@
<string name="network_options_title">Options</string>
<string name="network_traffic_autohide_title">Hide network traffic indicator if inactive</string>
<string name="network_traffic_autohide_summary">Hide when network traffic indicator is below 1 KB/s</string>
<!-- NavBar Inverse -->
<string name="navigation_bar_inverse_title">Invert 3 button navigation bar</string>
</resources>

View File

@@ -17,6 +17,12 @@
xmlns:android="http://schemas.android.com/apk/res/android"
android:title="@string/button_title"
xmlns:settings="http://schemas.android.com/apk/res/com.android.settings">
<com.cherish.settings.preferences.SystemSettingSwitchPreference
android:key="navigation_bar_inverse"
android:title="@string/navigation_bar_inverse_title"
android:defaultValue="0"
settings:controller="com.cherish.settings.fragments.NavBarInversePreferenceController" />
</PreferenceScreen>

View File

@@ -0,0 +1,42 @@
/*
* Copyright (C) 2022 PixelPlusUI Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.cherish.settings.fragments
import android.content.Context
import android.os.UserHandle
import android.provider.Settings
import com.cherish.settings.CherishBasePreferenceController
class NavBarInversePreferenceController(
context: Context,
key: String,
): CherishBasePreferenceController(context, key) {
override fun getAvailabilityStatus(): Int {
val threeButtonMode = Settings.Secure.getIntForUser(
mContext.contentResolver,
Settings.Secure.NAVIGATION_MODE,
0,
UserHandle.USER_CURRENT,
) == 0
return if (threeButtonMode)
AVAILABLE
else
DISABLED_DEPENDENT_SETTING
}
}