Skip to content

Commit d196640

Browse files
committed
SPenActions: Revamp UI
Change-Id: I65eb1cc61f29e48e0223e5119be38234ba731e50
1 parent 8d65c8d commit d196640

4 files changed

Lines changed: 39 additions & 30 deletions

File tree

packages/SPenActions/AndroidManifest.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<!--
3-
SPDX-FileCopyrightText: 2021-2022 The LineageOS Project
3+
SPDX-FileCopyrightText: 2021-2026 The LineageOS Project
44
SPDX-License-Identifier: Apache-2.0
55
-->
66
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
@@ -18,7 +18,7 @@
1818
android:defaultToDeviceProtectedStorage="true"
1919
android:directBootAware="true"
2020
android:label="@string/app_name"
21-
android:theme="@style/Theme.SubSettingsBase">
21+
android:theme="@style/Theme.SubSettingsBase.Expressive">
2222

2323
<activity
2424
android:name=".settings.SettingsActivity"
Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,19 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<!--
3-
SPDX-FileCopyrightText: 2021-2022 The LineageOS Project
3+
SPDX-FileCopyrightText: 2021-2026 The LineageOS Project
44
SPDX-License-Identifier: Apache-2.0
55
-->
66
<PreferenceScreen
77
xmlns:android="http://schemas.android.com/apk/res/android">
88

9-
<SwitchPreferenceCompat
10-
android:key="spen_bluetooth_enable"
9+
<com.android.settingslib.widget.TopIntroPreference
10+
android:key="spen_bluetooth_top_intro"
11+
android:title="@string/spen_bluetooth_enable_summary" />
12+
13+
<com.android.settingslib.widget.MainSwitchPreference
1114
android:defaultValue="false"
12-
android:title="@string/spen_bluetooth_enable_title"
13-
android:summary="@string/spen_bluetooth_enable_summary" />
15+
android:key="spen_bluetooth_enable"
16+
android:title="@string/spen_bluetooth_enable_title" />
1417

1518
<ListPreference
1619
android:key="spen_mode"
@@ -21,8 +24,4 @@
2124
android:title="@string/spen_mode_title"
2225
android:summary="%s" />
2326

24-
<com.android.settingslib.widget.ActionButtonsPreference
25-
android:key="action_buttons"
26-
android:dependency="spen_bluetooth_enable" />
27-
2827
</PreferenceScreen>

packages/SPenActions/src/org/lineageos/spenactions/settings/SettingsFragment.java

Lines changed: 28 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* SPDX-FileCopyrightText: 2021-2022 The LineageOS Project
2+
* SPDX-FileCopyrightText: 2021-2026 The LineageOS Project
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

@@ -10,37 +10,48 @@
1010
import android.content.Intent;
1111
import android.os.Bundle;
1212
import android.os.UserHandle;
13-
import android.view.View;
13+
import android.view.Menu;
14+
import android.view.MenuInflater;
15+
import android.view.MenuItem;
1416

1517
import androidx.preference.Preference;
16-
import androidx.preference.PreferenceFragmentCompat;
17-
import androidx.preference.SwitchPreferenceCompat;
1818

19-
import com.android.settingslib.widget.ActionButtonsPreference;
19+
import com.android.settingslib.widget.MainSwitchPreference;
20+
import com.android.settingslib.widget.SettingsBasePreferenceFragment;
2021

2122
import org.lineageos.spenactions.BluetoothUtils;
2223
import org.lineageos.spenactions.R;
2324

24-
public class SettingsFragment extends PreferenceFragmentCompat
25-
implements Preference.OnPreferenceChangeListener, View.OnClickListener {
25+
public class SettingsFragment extends SettingsBasePreferenceFragment
26+
implements Preference.OnPreferenceChangeListener {
27+
28+
private static final int MENU_RESET = Menu.FIRST;
29+
30+
@Override
31+
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
32+
super.onCreateOptionsMenu(menu, inflater);
33+
menu.add(0, MENU_RESET, 0, R.string.spen_reset)
34+
.setAlphabeticShortcut('r')
35+
.setEnabled(true)
36+
.setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER);
37+
}
2638

2739
@Override
2840
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
41+
setHasOptionsMenu(true);
2942
setPreferencesFromResource(R.xml.spen_settings, rootKey);
3043

31-
ActionButtonsPreference actionButtonsPreference =
32-
findPreference(SettingsUtils.ACTION_BUTTONS);
33-
actionButtonsPreference.setButton1Text(R.string.spen_reset);
34-
actionButtonsPreference.setButton1OnClickListener(this);
35-
36-
SwitchPreferenceCompat enableBluetoothPreference =
37-
findPreference(SettingsUtils.SPEN_BLUETOOTH_ENABLE);
38-
enableBluetoothPreference.setOnPreferenceChangeListener(this);
44+
MainSwitchPreference switchBar = findPreference(SettingsUtils.SPEN_BLUETOOTH_ENABLE);
45+
switchBar.setOnPreferenceChangeListener(this);
3946
}
4047

4148
@Override
42-
public void onClick(View view) {
43-
BluetoothUtils.resetSPenMAC(getActivity());
49+
public boolean onOptionsItemSelected(MenuItem item) {
50+
if (item.getItemId() == MENU_RESET) {
51+
BluetoothUtils.resetSPenMAC(getActivity());
52+
return true;
53+
}
54+
return super.onOptionsItemSelected(item);
4455
}
4556

4657
@Override

packages/SPenActions/src/org/lineageos/spenactions/settings/SettingsUtils.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* SPDX-FileCopyrightText: 2021-2022 The LineageOS Project
2+
* SPDX-FileCopyrightText: 2021-2026 The LineageOS Project
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

@@ -13,7 +13,6 @@ public class SettingsUtils {
1313

1414
public static final String SPEN_BLUETOOTH_ENABLE = "spen_bluetooth_enable";
1515
public static final String SPEN_MODE = "spen_mode";
16-
public static final String ACTION_BUTTONS = "action_buttons";
1716

1817
public static boolean isEnabled(Context context, String pref, boolean defValue) {
1918
return PreferenceManager.getDefaultSharedPreferences(context)

0 commit comments

Comments
 (0)