Skip to content

Commit 5bea0f2

Browse files
committed
Code refactoring.
1 parent 03b7a43 commit 5bea0f2

File tree

5 files changed

+133
-40
lines changed

5 files changed

+133
-40
lines changed

app/src/main/java/com/owncloud/android/ui/AppVersionPreference.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ class AppVersionPreference : Preference {
2525
private fun updatePreferenceView(title: TextView, summary: TextView) {
2626
val appVersion = appVersion
2727
val titleColor: Int = context.resources.getColor(R.color.fontAppbar, null)
28-
title.text = StringUtils.getColoredSpan(
28+
title.text = StringUtils.getColorSpan(
2929
context.getString(R.string.app_name),
3030
titleColor
3131
)

app/src/main/java/com/owncloud/android/ui/activity/SettingsActivity.java

Lines changed: 116 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
4040
import android.preference.PreferenceManager;
4141
import android.preference.PreferenceScreen;
4242
import android.preference.SwitchPreference;
43+
import android.text.TextUtils;
4344
import android.view.Menu;
4445
import android.view.MenuInflater;
4546
import android.view.MenuItem;
@@ -188,6 +189,10 @@ public void onCreate(Bundle savedInstanceState) {
188189
// More
189190
setupMoreCategory(titleColor);
190191

192+
// About
193+
// Not required in NMC
194+
//setupAboutCategory(appVersion);
195+
191196
// Data Privacy
192197
setupDataPrivacyCategory(titleColor);
193198

@@ -247,15 +252,103 @@ private void setupDevCategory(PreferenceScreen preferenceScreen) {
247252
}
248253
}
249254

255+
private void setupAboutCategory(String appVersion) {
256+
final PreferenceCategory preferenceCategoryAbout = (PreferenceCategory) findPreference("about");
257+
viewThemeUtils.files.themePreferenceCategory(preferenceCategoryAbout);
258+
259+
/* About App */
260+
Preference pAboutApp = findPreference("about_app");
261+
if (pAboutApp != null) {
262+
pAboutApp.setTitle(String.format(getString(R.string.about_android), getString(R.string.app_name)));
263+
264+
String buildNumber = getResources().getString(R.string.buildNumber);
265+
266+
if (TextUtils.isEmpty(buildNumber)) {
267+
pAboutApp.setSummary(String.format(getString(R.string.about_version), appVersion));
268+
} else {
269+
pAboutApp.setSummary(String.format(getString(R.string.about_version_with_build),
270+
appVersion,
271+
buildNumber));
272+
}
273+
}
274+
275+
// license
276+
boolean licenseEnabled = getResources().getBoolean(R.bool.license_enabled);
277+
Preference licensePreference = findPreference("license");
278+
if (licensePreference != null) {
279+
if (licenseEnabled) {
280+
licensePreference.setSummary(R.string.prefs_gpl_v2);
281+
licensePreference.setOnPreferenceClickListener(preference -> {
282+
DisplayUtils.startLinkIntent(this, R.string.license_url);
283+
return true;
284+
});
285+
} else {
286+
preferenceCategoryAbout.removePreference(licensePreference);
287+
}
288+
}
289+
290+
// privacy
291+
boolean privacyEnabled = getResources().getBoolean(R.bool.privacy_enabled);
292+
Preference privacyPreference = findPreference("privacy");
293+
if (privacyPreference != null) {
294+
if (privacyEnabled && URLUtil.isValidUrl(getString(R.string.privacy_url))) {
295+
privacyPreference.setOnPreferenceClickListener(preference -> {
296+
try {
297+
Uri privacyUrl = Uri.parse(getString(R.string.privacy_url));
298+
String mimeType = MimeTypeUtil.getBestMimeTypeByFilename(privacyUrl.getLastPathSegment());
299+
300+
Intent intent;
301+
if (MimeTypeUtil.isPDF(mimeType)) {
302+
intent = new Intent(Intent.ACTION_VIEW, privacyUrl);
303+
DisplayUtils.startIntentIfAppAvailable(intent, this, R.string.no_pdf_app_available);
304+
} else {
305+
intent = new Intent(getApplicationContext(), ExternalSiteWebView.class);
306+
intent.putExtra(ExternalSiteWebView.EXTRA_TITLE,
307+
getResources().getString(R.string.privacy));
308+
intent.putExtra(ExternalSiteWebView.EXTRA_URL, privacyUrl.toString());
309+
intent.putExtra(ExternalSiteWebView.EXTRA_SHOW_SIDEBAR, false);
310+
intent.putExtra(ExternalSiteWebView.EXTRA_MENU_ITEM_ID, -1);
311+
}
312+
313+
startActivity(intent);
314+
} catch (Exception e) {
315+
Log_OC.e(TAG, "Could not parse privacy url");
316+
preferenceCategoryAbout.removePreference(privacyPreference);
317+
}
318+
return true;
319+
});
320+
} else {
321+
preferenceCategoryAbout.removePreference(privacyPreference);
322+
}
323+
}
324+
325+
// source code
326+
boolean sourcecodeEnabled = getResources().getBoolean(R.bool.sourcecode_enabled);
327+
Preference sourcecodePreference = findPreference("sourcecode");
328+
if (sourcecodePreference != null) {
329+
if (sourcecodeEnabled) {
330+
sourcecodePreference.setOnPreferenceClickListener(preference -> {
331+
DisplayUtils.startLinkIntent(this, R.string.sourcecode_url);
332+
return true;
333+
});
334+
} else {
335+
preferenceCategoryAbout.removePreference(sourcecodePreference);
336+
}
337+
}
338+
}
339+
340+
/**
341+
* NMC customization
342+
*/
250343
private void setupDataPrivacyCategory(int titleColor) {
251344
PreferenceCategory preferenceCategoryAbout = (PreferenceCategory) findPreference("data_protection");
252-
preferenceCategoryAbout.setTitle(StringUtils.getColoredSpan(getString(R.string.prefs_category_data_privacy),
345+
preferenceCategoryAbout.setTitle(StringUtils.getColorSpan(getString(R.string.prefs_category_data_privacy),
253346
titleColor));
254347

255348
//privacy settings
256349
Preference privacySettingPreference = findPreference("privacy_settings");
257350
if (privacySettingPreference != null) {
258-
privacySettingPreference.setTitle(StringUtils.getColoredSpan(getString(R.string.privacy_settings),
351+
privacySettingPreference.setTitle(StringUtils.getColorSpan(getString(R.string.privacy_settings),
259352
titleColor));
260353
privacySettingPreference.setOnPreferenceClickListener(preference -> {
261354

@@ -267,7 +360,7 @@ private void setupDataPrivacyCategory(int titleColor) {
267360
Preference privacyPolicyPreference = findPreference("privacy_policy");
268361

269362
if (privacyPolicyPreference != null) {
270-
privacyPolicyPreference.setTitle(StringUtils.getColoredSpan(getString(R.string.privacy_policy),
363+
privacyPolicyPreference.setTitle(StringUtils.getColorSpan(getString(R.string.privacy_policy),
271364
titleColor));
272365
if (URLUtil.isValidUrl(getString(R.string.privacy_url))) {
273366
privacyPolicyPreference.setOnPreferenceClickListener(preference -> {
@@ -303,7 +396,7 @@ private void setupDataPrivacyCategory(int titleColor) {
303396
// source code
304397
Preference sourcecodePreference = findPreference("sourcecode");
305398
if (sourcecodePreference != null) {
306-
sourcecodePreference.setTitle(StringUtils.getColoredSpan(getString(R.string.prefs_open_source),
399+
sourcecodePreference.setTitle(StringUtils.getColorSpan(getString(R.string.prefs_open_source),
307400
titleColor));
308401
if (URLUtil.isValidUrl(getString(R.string.sourcecode_url))) {
309402
sourcecodePreference.setOnPreferenceClickListener(preference -> {
@@ -324,13 +417,13 @@ private void setupDataPrivacyCategory(int titleColor) {
324417

325418
private void setUpInfoCategory(int titleColor) {
326419
PreferenceCategory preferenceCategoryAbout = (PreferenceCategory) findPreference("info");
327-
preferenceCategoryAbout.setTitle(StringUtils.getColoredSpan(getString(R.string.prefs_category_info),
420+
preferenceCategoryAbout.setTitle(StringUtils.getColorSpan(getString(R.string.prefs_category_info),
328421
titleColor));
329422
}
330423

331424
private void setupMoreCategory(int titleColor) {
332425
PreferenceCategory preferenceCategoryMore = (PreferenceCategory) findPreference("more");
333-
preferenceCategoryMore.setTitle(StringUtils.getColoredSpan(getString(R.string.prefs_category_more),
426+
preferenceCategoryMore.setTitle(StringUtils.getColorSpan(getString(R.string.prefs_category_more),
334427
titleColor));
335428

336429
setupAutoUploadPreference(preferenceCategoryMore, titleColor);
@@ -359,7 +452,7 @@ private void setupLoggingPreference(PreferenceCategory preferenceCategoryMore, i
359452
boolean loggerEnabled = getResources().getBoolean(R.bool.logger_enabled) || BuildConfig.DEBUG;
360453
Preference pLogger = findPreference("logger");
361454
if (pLogger != null) {
362-
pLogger.setTitle(StringUtils.getColoredSpan(getString(R.string.logs_title),
455+
pLogger.setTitle(StringUtils.getColorSpan(getString(R.string.logs_title),
363456
titleColor));
364457
if (loggerEnabled) {
365458
pLogger.setOnPreferenceClickListener(preference -> {
@@ -513,7 +606,7 @@ private void removeE2E(PreferenceCategory preferenceCategoryMore) {
513606

514607
private void setupAutoUploadPreference(PreferenceCategory preferenceCategoryMore, int titleColor) {
515608
Preference autoUpload = findPreference("syncedFolders");
516-
autoUpload.setTitle(StringUtils.getColoredSpan(getString(R.string.drawer_synced_folders),
609+
autoUpload.setTitle(StringUtils.getColorSpan(getString(R.string.drawer_synced_folders),
517610
titleColor));
518611
if (getResources().getBoolean(R.bool.syncedFolder_light)) {
519612
preferenceCategoryMore.removePreference(autoUpload);
@@ -534,8 +627,8 @@ private void setupBackupPreference(int titleColor) {
534627
? StringUtils.getColorSpan(getString(R.string.backup_title), titleColor)
535628
: StringUtils.getColorSpan(getString(R.string.contact_backup_title), titleColor));
536629
pContactsBackup.setSummary(showCalendarBackup
537-
? StringUtils.getColorSpan(getString(R.string.prefs_daily_backup_summary), titleColor)
538-
: StringUtils.getColorSpan(getString(R.string.prefs_daily_contact_backup_summary), titleColor));
630+
? getString(R.string.prefs_daily_backup_summary)
631+
: getString(R.string.prefs_daily_contact_backup_summary));
539632
pContactsBackup.setOnPreferenceClickListener(preference -> {
540633
ContactsPreferenceActivity.startActivityWithoutSidebar(this);
541634
return true;
@@ -568,7 +661,7 @@ private void setupCalendarPreference(PreferenceCategory preferenceCategoryMore)
568661

569662
private void setupDetailsCategory(int titleColor, PreferenceScreen preferenceScreen) {
570663
PreferenceCategory preferenceCategoryDetails = (PreferenceCategory) findPreference("details");
571-
preferenceCategoryDetails.setTitle(StringUtils.getColoredSpan(getString(R.string.prefs_category_details),
664+
preferenceCategoryDetails.setTitle(StringUtils.getColorSpan(getString(R.string.prefs_category_details),
572665
titleColor));
573666

574667
boolean fPassCodeEnabled = getResources().getBoolean(R.bool.passcode_enabled);
@@ -592,7 +685,7 @@ private void setupDetailsCategory(int titleColor, PreferenceScreen preferenceScr
592685
private void setupShowMediaScanNotifications(PreferenceCategory preferenceCategoryDetails,
593686
boolean fShowMediaScanNotifications, int titleColor) {
594687
SwitchPreference mShowMediaScanNotifications = (SwitchPreference) findPreference(PREFERENCE_SHOW_MEDIA_SCAN_NOTIFICATIONS);
595-
mShowMediaScanNotifications.setTitle(StringUtils.getColoredSpan(getString(R.string.prefs_storage_path),
688+
mShowMediaScanNotifications.setTitle(StringUtils.getColorSpan(getString(R.string.prefs_storage_path),
596689
titleColor));
597690
if (fShowMediaScanNotifications) {
598691
preferenceCategoryDetails.removePreference(mShowMediaScanNotifications);
@@ -602,7 +695,7 @@ private void setupShowMediaScanNotifications(PreferenceCategory preferenceCatego
602695
private void setupHiddenFilesPreference(PreferenceCategory preferenceCategoryDetails,
603696
boolean fShowHiddenFilesEnabled, int titleColor) {
604697
showHiddenFiles = (ThemeableSwitchPreference) findPreference("show_hidden_files");
605-
showHiddenFiles.setTitle(StringUtils.getColoredSpan(getString(R.string.prefs_show_hidden_files),
698+
showHiddenFiles.setTitle(StringUtils.getColorSpan(getString(R.string.prefs_show_hidden_files),
606699
titleColor));
607700
if (fShowHiddenFilesEnabled) {
608701
showHiddenFiles.setOnPreferenceClickListener(preference -> {
@@ -618,7 +711,7 @@ private void setupLockPreference(PreferenceCategory preferenceCategoryDetails,
618711
boolean passCodeEnabled,
619712
boolean deviceCredentialsEnabled, int titleColor) {
620713
lock = (ListPreference) findPreference(PREFERENCE_LOCK);
621-
lock.setTitle(StringUtils.getColoredSpan(getString(R.string.prefs_lock),
714+
lock.setTitle(StringUtils.getColorSpan(getString(R.string.prefs_lock),
622715
titleColor));
623716
if (lock != null && (passCodeEnabled || deviceCredentialsEnabled)) {
624717
ArrayList<String> lockEntries = new ArrayList<>(3);
@@ -669,7 +762,7 @@ private void setupLockPreference(PreferenceCategory preferenceCategoryDetails,
669762
private void setupAutoUploadCategory(int titleColor, PreferenceScreen preferenceScreen) {
670763
PreferenceCategory preferenceCategorySyncedFolders =
671764
(PreferenceCategory) findPreference("synced_folders_category");
672-
preferenceCategorySyncedFolders.setTitle(StringUtils.getColoredSpan(getString(R.string.drawer_synced_folders),
765+
preferenceCategorySyncedFolders.setTitle(StringUtils.getColorSpan(getString(R.string.drawer_synced_folders),
673766
titleColor));
674767

675768
if (!getResources().getBoolean(R.bool.syncedFolder_light)) {
@@ -679,7 +772,7 @@ private void setupAutoUploadCategory(int titleColor, PreferenceScreen preference
679772
final ArbitraryDataProvider arbitraryDataProvider = new ArbitraryDataProviderImpl(this);
680773

681774
final SwitchPreference pUploadOnWifiCheckbox = (SwitchPreference) findPreference("synced_folder_on_wifi");
682-
pUploadOnWifiCheckbox.setTitle(StringUtils.getColoredSpan(getString(R.string.auto_upload_on_wifi),
775+
pUploadOnWifiCheckbox.setTitle(StringUtils.getColorSpan(getString(R.string.auto_upload_on_wifi),
683776
titleColor));
684777
pUploadOnWifiCheckbox.setChecked(
685778
arbitraryDataProvider.getBooleanValue(user, SYNCED_FOLDER_LIGHT_UPLOAD_ON_WIFI));
@@ -708,7 +801,7 @@ private void setupAutoUploadCategory(int titleColor, PreferenceScreen preference
708801

709802
private void setUpServiceCategory(int titleColor) {
710803
PreferenceCategory preferenceCategoryService = (PreferenceCategory) findPreference("service");
711-
preferenceCategoryService.setTitle(StringUtils.getColoredSpan(getString(R.string.prefs_category_service),
804+
preferenceCategoryService.setTitle(StringUtils.getColorSpan(getString(R.string.prefs_category_service),
712805
titleColor));
713806
setupHelpPreference(titleColor);
714807
setupImprintPreference(titleColor);
@@ -717,7 +810,7 @@ private void setUpServiceCategory(int titleColor) {
717810
private void setupHelpPreference(int titleColor) {
718811
Preference pHelp = findPreference("help");
719812
if (pHelp != null) {
720-
pHelp.setTitle(StringUtils.getColoredSpan(getString(R.string.prefs_help),
813+
pHelp.setTitle(StringUtils.getColorSpan(getString(R.string.prefs_help),
721814
titleColor));
722815
pHelp.setOnPreferenceClickListener(preference -> {
723816
String helpWeb = getString(R.string.url_help);
@@ -733,7 +826,7 @@ private void setupHelpPreference(int titleColor) {
733826
private void setupImprintPreference(int titleColor) {
734827
Preference pImprint = findPreference("imprint");
735828
if (pImprint != null) {
736-
pImprint.setTitle(StringUtils.getColoredSpan(getString(R.string.prefs_imprint),
829+
pImprint.setTitle(StringUtils.getColorSpan(getString(R.string.prefs_imprint),
737830
titleColor));
738831
pImprint.setOnPreferenceClickListener(preference -> {
739832
String imprintWeb = getString(R.string.url_imprint);
@@ -792,21 +885,21 @@ private void disableLock(String lock) {
792885

793886
private void setupAccountInfoCategory(int titleColor) {
794887
PreferenceCategory preferenceCategoryAccountInfo = (PreferenceCategory) findPreference("account_info");
795-
preferenceCategoryAccountInfo.setTitle(StringUtils.getColoredSpan(getString(R.string.prefs_category_account_info),
888+
preferenceCategoryAccountInfo.setTitle(StringUtils.getColorSpan(getString(R.string.prefs_category_account_info),
796889
titleColor));
797890

798891
Preference autoUpload = findPreference("user_name");
799-
autoUpload.setTitle(StringUtils.getColoredSpan(accountManager.getUser().toOwnCloudAccount().getDisplayName(),
892+
autoUpload.setTitle(StringUtils.getColorSpan(accountManager.getUser().toOwnCloudAccount().getDisplayName(),
800893
titleColor));
801894
}
802895

803896
private void setupGeneralCategory(int titleColor) {
804897
PreferenceCategory preferenceCategoryGeneral = (PreferenceCategory) findPreference("general");
805-
preferenceCategoryGeneral.setTitle(StringUtils.getColoredSpan(getString(R.string.prefs_category_general),
898+
preferenceCategoryGeneral.setTitle(StringUtils.getColorSpan(getString(R.string.prefs_category_general),
806899
titleColor));
807900

808901
prefStoragePath = (ListPreference) findPreference(AppPreferencesImpl.STORAGE_PATH);
809-
prefStoragePath.setTitle(StringUtils.getColoredSpan(getString(R.string.prefs_storage_path),
902+
prefStoragePath.setTitle(StringUtils.getColorSpan(getString(R.string.prefs_storage_path),
810903
titleColor));
811904
if (prefStoragePath != null) {
812905
StoragePoint[] storageOptions = DataStorageProvider.getInstance().getAvailableStoragePoints();

0 commit comments

Comments
 (0)