@@ -48,24 +48,55 @@ public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
4848 setPreferencesFromResource (R .xml .preferences_settings , rootKey );
4949 SettingsActivity activity = (SettingsActivity ) requireActivity ();
5050 SettingsViewModel settingsViewModel = activity .getSettingsViewModel ();
51- ListPreference labelVisibilityMode = findPreference (getString (R .string .key_bottom_navigation_bar_labels ));
51+ setupLabelVisibilityPreference ();
52+ setupConsentAnalyticsPreference (settingsViewModel );
53+ setupDefaultTabPreference ();
54+ setupOpenSourceLicensesPreference ();
55+ setupNotificationsPreference ();
56+ setupDeviceInfoPreference ();
57+ }
58+
59+ @ Override
60+ public void onViewCreated (@ NonNull View view , @ Nullable Bundle savedInstanceState ) {
61+ super .onViewCreated (view , savedInstanceState );
62+ setDivider (null );
63+ setDividerHeight (0 );
64+ settingsList = getListView ();
65+ RecyclerView listView = settingsList ;
66+ int verticalPadding = getResources ().getDimensionPixelSize (R .dimen .preference_list_vertical_padding );
67+ listView .setPadding (listView .getPaddingLeft (), verticalPadding ,
68+ listView .getPaddingRight (), verticalPadding );
69+ listView .setClipToPadding (false );
70+ listView .addItemDecoration (new PreferenceSpacingDecoration (requireContext ()));
71+ setupPreferenceCardStyling (listView );
72+ }
73+
74+ private void setupLabelVisibilityPreference () {
75+ ListPreference labelVisibilityMode =
76+ findPreference (getString (R .string .key_bottom_navigation_bar_labels ));
5277 if (labelVisibilityMode != null ) {
5378 labelVisibilityMode .setOnPreferenceChangeListener ((preference , newValue ) -> {
5479 RequireRestartDialog restartDialog = new RequireRestartDialog ();
5580 restartDialog .show (getChildFragmentManager (), RequireRestartDialog .class .getName ());
5681 return true ;
5782 });
5883 }
84+ }
85+
86+ private void setupConsentAnalyticsPreference (@ NonNull SettingsViewModel settingsViewModel ) {
5987 SwitchPreferenceCompat consentAnalyticsPreference =
6088 findPreference (getString (R .string .key_consent_analytics ));
6189 if (consentAnalyticsPreference != null ) {
6290 consentAnalyticsPreference .setOnPreferenceChangeListener ((preference , newValue ) -> {
63- if (newValue instanceof Boolean && settingsViewModel != null ) {
91+ if (newValue instanceof Boolean ) {
6492 settingsViewModel .setConsentAccepted ((Boolean ) newValue );
6593 }
6694 return true ;
6795 });
6896 }
97+ }
98+
99+ private void setupDefaultTabPreference () {
69100 ListPreference defaultTab = findPreference (getString (R .string .key_default_tab ));
70101 if (defaultTab != null ) {
71102 defaultTab .setOnPreferenceChangeListener ((preference , newValue ) -> {
@@ -74,64 +105,72 @@ public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
74105 return true ;
75106 });
76107 }
108+ }
109+
110+ private void setupOpenSourceLicensesPreference () {
77111 Preference ossPreference = findPreference (getString (R .string .key_open_source_licenses ));
78112 if (ossPreference != null ) {
79113 ossPreference .setOnPreferenceClickListener (preference -> {
80114 OpenSourceLicensesUtils .openLicensesScreen (requireContext ());
81115 return true ;
82116 });
83117 }
118+ }
119+
120+ private void setupNotificationsPreference () {
84121 Preference notificationsSettings = findPreference (getString (R .string .key_notifications_settings ));
85122 if (notificationsSettings != null ) {
86123 notificationsSettings .setOnPreferenceClickListener (preference -> {
87124 Context context = getContext ();
88- if (context != null ) {
89- Intent intent ;
90-
91- if (Build .VERSION .SDK_INT >= Build .VERSION_CODES .O ) {
92- intent = new Intent (Settings .ACTION_APP_NOTIFICATION_SETTINGS );
93- intent .putExtra (Settings .EXTRA_APP_PACKAGE , context .getPackageName ());
94- } else {
95- intent = new Intent (Settings .ACTION_APPLICATION_DETAILS_SETTINGS );
96- Uri uri = Uri .fromParts ("package" , context .getPackageName (), null );
97- intent .setData (uri );
98- }
99- startActivity (intent );
100- return true ;
101- } else {
125+ if (context == null ) {
102126 return false ;
103127 }
104- });
105- }
106- Preference deviceInfoPreference = findPreference (getString (R .string .key_device_info ));
107- if (deviceInfoPreference != null ) {
108- String version = String .format (getResources ().getString (R .string .app_build ), String .format ("%s %s" , getResources ().getString (R .string .manufacturer ), Build .MANUFACTURER ), String .format ("%s %s" , getResources ().getString (R .string .device_model ), Build .MODEL ), String .format ("%s %s" , getResources ().getString (R .string .android_version ), Build .VERSION .RELEASE ), String .format ("%s %s" , getResources ().getString (R .string .api_level ), Build .VERSION .SDK_INT ), String .format ("%s %s" , getResources ().getString (R .string .arch ), TextUtils .join ("," , Build .SUPPORTED_ABIS )));
109- deviceInfoPreference .setSummary (version );
110- deviceInfoPreference .setOnPreferenceClickListener (preference -> {
111- ClipboardManager clipboard = (ClipboardManager ) requireContext ().getSystemService (Context .CLIPBOARD_SERVICE );
112- ClipData clip = ClipData .newPlainText ("text" , version );
113- clipboard .setPrimaryClip (clip );
114- if (Build .VERSION .SDK_INT <= Build .VERSION_CODES .S_V2 ) {
115- Toast .makeText (getContext (), R .string .snack_copied_to_clipboard , Toast .LENGTH_SHORT ).show ();
128+ Intent intent ;
129+ if (Build .VERSION .SDK_INT >= Build .VERSION_CODES .O ) {
130+ intent = new Intent (Settings .ACTION_APP_NOTIFICATION_SETTINGS );
131+ intent .putExtra (Settings .EXTRA_APP_PACKAGE , context .getPackageName ());
132+ } else {
133+ intent = new Intent (Settings .ACTION_APPLICATION_DETAILS_SETTINGS );
134+ Uri uri = Uri .fromParts ("package" , context .getPackageName (), null );
135+ intent .setData (uri );
116136 }
137+ startActivity (intent );
117138 return true ;
118139 });
119140 }
120141 }
121142
122- @ Override
123- public void onViewCreated (@ NonNull View view , @ Nullable Bundle savedInstanceState ) {
124- super .onViewCreated (view , savedInstanceState );
125- setDivider (null );
126- setDividerHeight (0 );
127- settingsList = getListView ();
128- RecyclerView listView = settingsList ;
129- int verticalPadding = getResources ().getDimensionPixelSize (R .dimen .preference_list_vertical_padding );
130- listView .setPadding (listView .getPaddingLeft (), verticalPadding ,
131- listView .getPaddingRight (), verticalPadding );
132- listView .setClipToPadding (false );
133- listView .addItemDecoration (new PreferenceSpacingDecoration (requireContext ()));
134- setupPreferenceCardStyling (listView );
143+ private void setupDeviceInfoPreference () {
144+ Preference deviceInfoPreference = findPreference (getString (R .string .key_device_info ));
145+ if (deviceInfoPreference == null ) {
146+ return ;
147+ }
148+ String version = buildDeviceInfoSummary ();
149+ deviceInfoPreference .setSummary (version );
150+ deviceInfoPreference .setOnPreferenceClickListener (preference -> {
151+ ClipboardManager clipboard =
152+ (ClipboardManager ) requireContext ().getSystemService (Context .CLIPBOARD_SERVICE );
153+ ClipData clip = ClipData .newPlainText ("text" , version );
154+ clipboard .setPrimaryClip (clip );
155+ if (Build .VERSION .SDK_INT <= Build .VERSION_CODES .S_V2 ) {
156+ Toast .makeText (getContext (), R .string .snack_copied_to_clipboard ,
157+ Toast .LENGTH_SHORT ).show ();
158+ }
159+ return true ;
160+ });
161+ }
162+
163+ @ NonNull
164+ private String buildDeviceInfoSummary () {
165+ return String .format (getResources ().getString (R .string .app_build ),
166+ String .format ("%s %s" , getResources ().getString (R .string .manufacturer ),
167+ Build .MANUFACTURER ),
168+ String .format ("%s %s" , getResources ().getString (R .string .device_model ), Build .MODEL ),
169+ String .format ("%s %s" , getResources ().getString (R .string .android_version ),
170+ Build .VERSION .RELEASE ),
171+ String .format ("%s %s" , getResources ().getString (R .string .api_level ), Build .VERSION .SDK_INT ),
172+ String .format ("%s %s" , getResources ().getString (R .string .arch ),
173+ TextUtils .join ("," , Build .SUPPORTED_ABIS )));
135174 }
136175
137176 @ Override
0 commit comments