diff options
author | Stefan Niedermann <info@niedermann.it> | 2021-07-29 19:13:12 +0300 |
---|---|---|
committer | Stefan Niedermann <info@niedermann.it> | 2021-07-29 19:13:12 +0300 |
commit | 085bb7a94c2c459f356bc95bb20eca255128b092 (patch) | |
tree | cdeb46b89787bdb43f283cbb58d569632fea1a5a /app/src/main/java | |
parent | d94721f2134b6e206b9aeeea5d77d0d8ebc546aa (diff) |
Make use of Java 10 var keyword
Signed-off-by: Stefan Niedermann <info@niedermann.it>
Diffstat (limited to 'app/src/main/java')
86 files changed, 490 insertions, 492 deletions
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/AppendToNoteActivity.java b/app/src/main/java/it/niedermann/owncloud/notes/AppendToNoteActivity.java index 29d2d0ad..f8c647c3 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/AppendToNoteActivity.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/AppendToNoteActivity.java @@ -37,7 +37,7 @@ public class AppendToNoteActivity extends MainActivity { @Override public void onNoteClick(int position, View v) { if (!TextUtils.isEmpty(receivedText)) { - final LiveData<Note> fullNote$ = mainViewModel.getFullNote$(((Note) adapter.getItem(position)).getId()); + final var fullNote$ = mainViewModel.getFullNote$(((Note) adapter.getItem(position)).getId()); fullNote$.observe(this, (fullNote) -> { fullNote$.removeObservers(this); final String oldContent = fullNote.getContent(); @@ -47,7 +47,7 @@ public class AppendToNoteActivity extends MainActivity { } else { newContent = receivedText; } - LiveData<Void> updateLiveData = mainViewModel.updateNoteAndSync(fullNote, newContent, null); + final var updateLiveData = mainViewModel.updateNoteAndSync(fullNote, newContent, null); updateLiveData.observe(this, (next) -> { Toast.makeText(this, getString(R.string.added_content, receivedText), Toast.LENGTH_SHORT).show(); updateLiveData.removeObservers(this); diff --git a/app/src/main/java/it/niedermann/owncloud/notes/FormattingHelpActivity.java b/app/src/main/java/it/niedermann/owncloud/notes/FormattingHelpActivity.java index 4bd65501..5d4f8eba 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/FormattingHelpActivity.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/FormattingHelpActivity.java @@ -35,7 +35,7 @@ public class FormattingHelpActivity extends BrandedActivity { binding.content.setMovementMethod(LinkMovementMethod.getInstance()); binding.content.setMarkdownString(buildFormattingHelp()); - final SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()); + final var sp = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()); binding.content.setTextSize(TypedValue.COMPLEX_UNIT_PX, getFontSizeFromPreferences(this, sp)); if (sp.getBoolean(getString(R.string.pref_key_font), false)) { binding.content.setTypeface(Typeface.MONOSPACE); diff --git a/app/src/main/java/it/niedermann/owncloud/notes/LockedActivity.java b/app/src/main/java/it/niedermann/owncloud/notes/LockedActivity.java index 7a58282f..f5695a40 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/LockedActivity.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/LockedActivity.java @@ -99,11 +99,11 @@ public abstract class LockedActivity extends BrandedActivity { private void askToUnlock() { if (NotesApplication.isLocked()) { - KeyguardManager keyguardManager = (KeyguardManager) getSystemService(Context.KEYGUARD_SERVICE); + final var keyguardManager = (KeyguardManager) getSystemService(Context.KEYGUARD_SERVICE); if (keyguardManager != null) { - Intent i = keyguardManager.createConfirmDeviceCredentialIntent(getString(R.string.unlock_notes), null); - i.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP); - startActivityForResult(i, REQUEST_CODE_UNLOCK); + final var intent = keyguardManager.createConfirmDeviceCredentialIntent(getString(R.string.unlock_notes), null); + intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP); + startActivityForResult(intent, REQUEST_CODE_UNLOCK); } else { Log.e(TAG, "Keyguard manager is null"); } diff --git a/app/src/main/java/it/niedermann/owncloud/notes/NotesApplication.java b/app/src/main/java/it/niedermann/owncloud/notes/NotesApplication.java index 7299bc59..e177f7c7 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/NotesApplication.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/NotesApplication.java @@ -27,7 +27,7 @@ public class NotesApplication extends Application { public void onCreate() { PREF_KEY_THEME = getString(R.string.pref_key_theme); setAppTheme(getAppTheme(getApplicationContext())); - SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()); + final var prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()); lockedPreference = prefs.getBoolean(getString(R.string.pref_key_lock), false); isGridViewEnabled = getDefaultSharedPreferences(this).getBoolean(getString(R.string.pref_key_gridview), false); super.onCreate(); @@ -46,12 +46,12 @@ public class NotesApplication extends Application { } public static DarkModeSetting getAppTheme(Context context) { - SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); + final var prefs = PreferenceManager.getDefaultSharedPreferences(context); String mode; try { mode = prefs.getString(PREF_KEY_THEME, DarkModeSetting.SYSTEM_DEFAULT.name()); } catch (ClassCastException e) { - boolean darkModeEnabled = prefs.getBoolean(PREF_KEY_THEME, false); + final boolean darkModeEnabled = prefs.getBoolean(PREF_KEY_THEME, false); mode = darkModeEnabled ? DarkModeSetting.DARK.name() : DarkModeSetting.LIGHT.name(); } return DarkModeSetting.valueOf(mode); diff --git a/app/src/main/java/it/niedermann/owncloud/notes/SplashscreenActivity.java b/app/src/main/java/it/niedermann/owncloud/notes/SplashscreenActivity.java index ad14204f..8b72b226 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/SplashscreenActivity.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/SplashscreenActivity.java @@ -19,7 +19,7 @@ public class SplashscreenActivity extends AppCompatActivity { super.onCreate(savedInstanceState); Thread.currentThread().setUncaughtExceptionHandler(new ExceptionHandler(this)); - Intent intent = new Intent(this, MainActivity.class); + final var intent = new Intent(this, MainActivity.class); startActivity(intent); finish(); } diff --git a/app/src/main/java/it/niedermann/owncloud/notes/about/AboutFragmentContributingTab.java b/app/src/main/java/it/niedermann/owncloud/notes/about/AboutFragmentContributingTab.java index 369c77a0..2e17e45d 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/about/AboutFragmentContributingTab.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/about/AboutFragmentContributingTab.java @@ -16,10 +16,10 @@ public class AboutFragmentContributingTab extends Fragment { @Override public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - FragmentAboutContributionTabBinding b = FragmentAboutContributionTabBinding.inflate(inflater, container, false); - SupportUtil.setHtml(b.aboutSource, R.string.about_source, getString(R.string.url_source)); - SupportUtil.setHtml(b.aboutIssues, R.string.about_issues, getString(R.string.url_issues)); - SupportUtil.setHtml(b.aboutTranslate, R.string.about_translate, getString(R.string.url_translations)); - return b.getRoot(); + final var binding = FragmentAboutContributionTabBinding.inflate(inflater, container, false); + SupportUtil.setHtml(binding.aboutSource, R.string.about_source, getString(R.string.url_source)); + SupportUtil.setHtml(binding.aboutIssues, R.string.about_issues, getString(R.string.url_issues)); + SupportUtil.setHtml(binding.aboutTranslate, R.string.about_translate, getString(R.string.url_translations)); + return binding.getRoot(); } }
\ No newline at end of file diff --git a/app/src/main/java/it/niedermann/owncloud/notes/about/AboutFragmentCreditsTab.java b/app/src/main/java/it/niedermann/owncloud/notes/about/AboutFragmentCreditsTab.java index fc18f5ea..f92ca9ee 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/about/AboutFragmentCreditsTab.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/about/AboutFragmentCreditsTab.java @@ -17,7 +17,7 @@ public class AboutFragmentCreditsTab extends Fragment { @Override public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - FragmentAboutCreditsTabBinding binding = FragmentAboutCreditsTabBinding.inflate(inflater, container, false); + final var binding = FragmentAboutCreditsTabBinding.inflate(inflater, container, false); SupportUtil.setHtml(binding.aboutVersion, R.string.about_version, "v" + BuildConfig.VERSION_NAME); SupportUtil.setHtml(binding.aboutMaintainer, R.string.about_maintainer); SupportUtil.setHtml(binding.aboutTranslators, R.string.about_translators_transifex, getString(R.string.url_translations)); diff --git a/app/src/main/java/it/niedermann/owncloud/notes/accountpicker/AccountPickerDialogFragment.java b/app/src/main/java/it/niedermann/owncloud/notes/accountpicker/AccountPickerDialogFragment.java index 841ae646..56350be7 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/accountpicker/AccountPickerDialogFragment.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/accountpicker/AccountPickerDialogFragment.java @@ -56,16 +56,15 @@ public class AccountPickerDialogFragment extends BrandedDialogFragment { } else { throw new ClassCastException("Caller must implement " + AccountPickerListener.class.getSimpleName()); } - final Bundle args = requireArguments(); - final Collection<?> accounts; + final var args = requireArguments(); if (!args.containsKey(PARAM_TARGET_ACCOUNTS)) { throw new IllegalArgumentException(PARAM_TARGET_ACCOUNTS + " is required."); } - accounts = (Collection<?>) args.getSerializable(PARAM_TARGET_ACCOUNTS); + final var accounts = (Collection<?>) args.getSerializable(PARAM_TARGET_ACCOUNTS); if (accounts == null) { throw new IllegalArgumentException(PARAM_TARGET_ACCOUNTS + " is required."); } - long currentAccountId = requireArguments().getLong(PARAM_CURRENT_ACCOUNT_ID, -1L); + final long currentAccountId = requireArguments().getLong(PARAM_CURRENT_ACCOUNT_ID, -1L); targetAccounts = accounts .stream() .map(a -> (Account) a) @@ -76,13 +75,13 @@ public class AccountPickerDialogFragment extends BrandedDialogFragment { @NonNull @Override public Dialog onCreateDialog(Bundle savedInstanceState) { - final AlertDialog.Builder dialogBuilder = new BrandedAlertDialogBuilder(requireActivity()) + final var dialogBuilder = new BrandedAlertDialogBuilder(requireActivity()) .setTitle(R.string.simple_move) .setNegativeButton(android.R.string.cancel, null); if (targetAccounts.size() > 0) { - final DialogChooseAccountBinding binding = DialogChooseAccountBinding.inflate(LayoutInflater.from(requireContext())); - RecyclerView.Adapter<AccountChooserViewHolder> adapter = new AccountChooserAdapter(targetAccounts, (account -> { + final var binding = DialogChooseAccountBinding.inflate(LayoutInflater.from(requireContext())); + final var adapter = new AccountChooserAdapter(targetAccounts, (account -> { accountPickerListener.onAccountPicked(account); dismiss(); })); @@ -103,8 +102,8 @@ public class AccountPickerDialogFragment extends BrandedDialogFragment { } public static DialogFragment newInstance(@NonNull ArrayList<Account> targetAccounts, long currentAccountId) { - final DialogFragment fragment = new AccountPickerDialogFragment(); - final Bundle args = new Bundle(); + final var fragment = new AccountPickerDialogFragment(); + final var args = new Bundle(); args.putSerializable(PARAM_TARGET_ACCOUNTS, targetAccounts); args.putLong(PARAM_CURRENT_ACCOUNT_ID, currentAccountId); fragment.setArguments(args); diff --git a/app/src/main/java/it/niedermann/owncloud/notes/accountswitcher/AccountSwitcherDialog.java b/app/src/main/java/it/niedermann/owncloud/notes/accountswitcher/AccountSwitcherDialog.java index e1ba3e8e..b15f6308 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/accountswitcher/AccountSwitcherDialog.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/accountswitcher/AccountSwitcherDialog.java @@ -47,7 +47,7 @@ public class AccountSwitcherDialog extends BrandedDialogFragment { throw new ClassCastException("Caller must implement " + AccountSwitcherListener.class.getSimpleName()); } - final Bundle args = getArguments(); + final var args = getArguments(); if (args == null || !args.containsKey(KEY_CURRENT_ACCOUNT_ID)) { throw new IllegalArgumentException("Please provide at least " + KEY_CURRENT_ACCOUNT_ID); @@ -63,7 +63,7 @@ public class AccountSwitcherDialog extends BrandedDialogFragment { public Dialog onCreateDialog(Bundle savedInstanceState) { binding = DialogAccountSwitcherBinding.inflate(requireActivity().getLayoutInflater()); - final LiveData<Account> account$ = repo.getAccountById$(currentAccountId); + final var account$ = repo.getAccountById$(currentAccountId); account$.observe(requireActivity(), (currentLocalAccount) -> { account$.removeObservers(requireActivity()); @@ -76,15 +76,15 @@ public class AccountSwitcherDialog extends BrandedDialogFragment { .into(binding.currentAccountItemAvatar); binding.accountLayout.setOnClickListener((v) -> dismiss()); - final AccountSwitcherAdapter adapter = new AccountSwitcherAdapter((localAccount -> { + final var adapter = new AccountSwitcherAdapter((localAccount -> { accountSwitcherListener.onAccountChosen(localAccount); dismiss(); })); binding.accountsList.setAdapter(adapter); - final LiveData<List<Account>> localAccounts$ = repo.getAccounts$(); + final var localAccounts$ = repo.getAccounts$(); localAccounts$.observe(requireActivity(), (localAccounts) -> { localAccounts$.removeObservers(requireActivity()); - for (Account localAccount : localAccounts) { + for (final var localAccount : localAccounts) { if (localAccount.getId() == currentLocalAccount.getId()) { localAccounts.remove(localAccount); break; @@ -110,9 +110,9 @@ public class AccountSwitcherDialog extends BrandedDialogFragment { } public static DialogFragment newInstance(long currentAccountId) { - DialogFragment dialog = new AccountSwitcherDialog(); + final var dialog = new AccountSwitcherDialog(); - Bundle args = new Bundle(); + final var args = new Bundle(); args.putLong(KEY_CURRENT_ACCOUNT_ID, currentAccountId); dialog.setArguments(args); diff --git a/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedActivity.java b/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedActivity.java index 55d492d6..e7cc6dfd 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedActivity.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedActivity.java @@ -34,7 +34,7 @@ public abstract class BrandedActivity extends AppCompatActivity implements Brand protected void onStart() { super.onStart(); - final TypedValue typedValue = new TypedValue(); + final var typedValue = new TypedValue(); getTheme().resolveAttribute(R.attr.colorAccent, typedValue, true); colorAccent = typedValue.data; @@ -53,13 +53,13 @@ public abstract class BrandedActivity extends AppCompatActivity implements Brand // FIXME Workaround for https://github.com/stefan-niedermann/nextcloud-notes/issues/889 appBarLayout.setBackgroundColor(ContextCompat.getColor(this, R.color.primary)); - final Drawable overflowDrawable = toolbar.getOverflowIcon(); + final var overflowDrawable = toolbar.getOverflowIcon(); if (overflowDrawable != null) { overflowDrawable.setColorFilter(colorAccent, PorterDuff.Mode.SRC_ATOP); toolbar.setOverflowIcon(overflowDrawable); } - final Drawable navigationDrawable = toolbar.getNavigationIcon(); + final var navigationDrawable = toolbar.getNavigationIcon(); if (navigationDrawable != null) { navigationDrawable.setColorFilter(colorAccent, PorterDuff.Mode.SRC_ATOP); toolbar.setNavigationIcon(navigationDrawable); diff --git a/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedAlertDialogBuilder.java b/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedAlertDialogBuilder.java index 940d978d..c48e6298 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedAlertDialogBuilder.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedAlertDialogBuilder.java @@ -24,7 +24,7 @@ public class BrandedAlertDialogBuilder extends AlertDialog.Builder implements Br public AlertDialog create() { this.dialog = super.create(); - @NonNull Context context = getContext(); + @NonNull final var context = getContext(); @ColorInt final int mainColor = BrandingUtil.readBrandMainColor(context); @ColorInt final int textColor = BrandingUtil.readBrandTextColor(context); applyBrand(mainColor, textColor); @@ -35,11 +35,11 @@ public class BrandedAlertDialogBuilder extends AlertDialog.Builder implements Br @CallSuper @Override public void applyBrand(int mainColor, int textColor) { - final Button[] buttons = new Button[3]; + final var buttons = new Button[3]; buttons[0] = dialog.getButton(DialogInterface.BUTTON_POSITIVE); buttons[1] = dialog.getButton(DialogInterface.BUTTON_NEGATIVE); buttons[2] = dialog.getButton(DialogInterface.BUTTON_NEUTRAL); - for (Button button : buttons) { + for (final var button : buttons) { if (button != null) { button.setTextColor(getSecondaryForegroundColorDependingOnTheme(button.getContext(), mainColor)); } diff --git a/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedDeleteAlertDialogBuilder.java b/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedDeleteAlertDialogBuilder.java index 113acf49..e50b6fcb 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedDeleteAlertDialogBuilder.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedDeleteAlertDialogBuilder.java @@ -18,7 +18,7 @@ public class BrandedDeleteAlertDialogBuilder extends BrandedAlertDialogBuilder { @Override public void applyBrand(int mainColor, int textColor) { super.applyBrand(mainColor, textColor); - final Button positiveButton = dialog.getButton(DialogInterface.BUTTON_POSITIVE); + final var positiveButton = dialog.getButton(DialogInterface.BUTTON_POSITIVE); if (positiveButton != null) { positiveButton.setTextColor(getContext().getResources().getColor(R.color.bg_attention)); } diff --git a/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedDialogFragment.java b/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedDialogFragment.java index 57d24adf..b930c63a 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedDialogFragment.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedDialogFragment.java @@ -12,11 +12,9 @@ public abstract class BrandedDialogFragment extends DialogFragment implements Br public void onStart() { super.onStart(); - @Nullable Context context = getContext(); - if (context != null) { - @ColorInt final int mainColor = BrandingUtil.readBrandMainColor(context); - @ColorInt final int textColor = BrandingUtil.readBrandTextColor(context); - applyBrand(mainColor, textColor); - } + @Nullable final var context = requireContext(); + @ColorInt final int mainColor = BrandingUtil.readBrandMainColor(context); + @ColorInt final int textColor = BrandingUtil.readBrandTextColor(context); + applyBrand(mainColor, textColor); } } diff --git a/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedFragment.java b/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedFragment.java index b134919c..993ee377 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedFragment.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedFragment.java @@ -25,18 +25,16 @@ public abstract class BrandedFragment extends Fragment implements Branded { public void onStart() { super.onStart(); - final TypedValue typedValue = new TypedValue(); - requireActivity().getTheme().resolveAttribute(R.attr.colorAccent, typedValue, true); + final var context = requireContext(); + final var typedValue = new TypedValue(); + context.getTheme().resolveAttribute(R.attr.colorAccent, typedValue, true); colorAccent = typedValue.data; - requireActivity().getTheme().resolveAttribute(R.attr.colorPrimary, typedValue, true); + context.getTheme().resolveAttribute(R.attr.colorPrimary, typedValue, true); colorPrimary = typedValue.data; - @Nullable Context context = getContext(); - if (context != null) { - @ColorInt final int mainColor = BrandingUtil.readBrandMainColor(context); - @ColorInt final int textColor = BrandingUtil.readBrandTextColor(context); - applyBrand(mainColor, textColor); - } + @ColorInt final int mainColor = BrandingUtil.readBrandMainColor(context); + @ColorInt final int textColor = BrandingUtil.readBrandTextColor(context); + applyBrand(mainColor, textColor); } @Override diff --git a/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedPreferenceCategory.java b/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedPreferenceCategory.java index 7d75a412..620ec4b6 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedPreferenceCategory.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedPreferenceCategory.java @@ -34,11 +34,11 @@ public class BrandedPreferenceCategory extends PreferenceCategory { public void onBindViewHolder(PreferenceViewHolder holder) { super.onBindViewHolder(holder); - final View v = holder.itemView.findViewById(android.R.id.title); - @Nullable final Context context = getContext(); - if (context != null && v instanceof TextView) { + final var view = holder.itemView.findViewById(android.R.id.title); + @Nullable final var context = getContext(); + if (context != null && view instanceof TextView) { @ColorInt final int mainColor = getSecondaryForegroundColorDependingOnTheme(context, BrandingUtil.readBrandMainColor(context)); - ((TextView) v).setTextColor(mainColor); + ((TextView) view).setTextColor(mainColor); } } } diff --git a/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedSnackbar.java b/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedSnackbar.java index 1bb39297..8e3a4d9f 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedSnackbar.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedSnackbar.java @@ -14,7 +14,7 @@ public class BrandedSnackbar { @NonNull public static Snackbar make(@NonNull View view, @NonNull CharSequence text, @Snackbar.Duration int duration) { - final Snackbar snackbar = Snackbar.make(view, text, duration); + final var snackbar = Snackbar.make(view, text, duration); final int color = BrandingUtil.readBrandMainColor(view.getContext()); snackbar.setActionTextColor(ColorUtil.INSTANCE.isColorDark(color) ? Color.WHITE : color); return snackbar; diff --git a/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedSwitchPreference.java b/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedSwitchPreference.java index d81d3df2..07eb0c63 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedSwitchPreference.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedSwitchPreference.java @@ -1,5 +1,6 @@ package it.niedermann.owncloud.notes.branding; +import android.annotation.SuppressLint; import android.content.Context; import android.content.res.ColorStateList; import android.graphics.Color; @@ -26,6 +27,7 @@ public class BrandedSwitchPreference extends SwitchPreference implements Branded @ColorInt private Integer textColor = null; + @SuppressLint("UseSwitchCompatOrMaterialCode") @Nullable private Switch switchView; @@ -92,11 +94,11 @@ public class BrandedSwitchPreference extends SwitchPreference implements Branded return (Switch) view; } if (view instanceof ViewGroup) { - ViewGroup viewGroup = (ViewGroup) view; + final var viewGroup = (ViewGroup) view; for (int i = 0; i < viewGroup.getChildCount(); i++) { - View child = viewGroup.getChildAt(i); + final var child = viewGroup.getChildAt(i); if (child instanceof ViewGroup) { - Switch result = findSwitchWidget(child); + @SuppressLint("UseSwitchCompatOrMaterialCode") final var result = findSwitchWidget(child); if (result != null) return result; } if (child instanceof Switch) { diff --git a/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandingUtil.java b/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandingUtil.java index bc0faca7..af2b4a43 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandingUtil.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandingUtil.java @@ -64,27 +64,27 @@ public class BrandingUtil { } public static LiveData<Integer> readBrandMainColorLiveData(@NonNull Context context) { - final SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context.getApplicationContext()); + final var sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context.getApplicationContext()); Log.v(TAG, "--- Read: shared_preference_theme_main"); return new SharedPreferenceIntLiveData(sharedPreferences, pref_key_branding_main, context.getApplicationContext().getResources().getColor(R.color.defaultBrand)); } public static LiveData<Integer> readBrandTextColorLiveData(@NonNull Context context) { - final SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context.getApplicationContext()); + final var sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context.getApplicationContext()); Log.v(TAG, "--- Read: shared_preference_theme_text"); return new SharedPreferenceIntLiveData(sharedPreferences, pref_key_branding_text, Color.WHITE); } @ColorInt public static int readBrandMainColor(@NonNull Context context) { - final SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context.getApplicationContext()); + final var sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context.getApplicationContext()); Log.v(TAG, "--- Read: shared_preference_theme_main"); return sharedPreferences.getInt(pref_key_branding_main, context.getApplicationContext().getResources().getColor(R.color.defaultBrand)); } @ColorInt public static int readBrandTextColor(@NonNull Context context) { - final SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context.getApplicationContext()); + final var sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context.getApplicationContext()); Log.v(TAG, "--- Read: shared_preference_theme_text"); return sharedPreferences.getInt(pref_key_branding_text, Color.WHITE); } @@ -92,7 +92,7 @@ public class BrandingUtil { public static void saveBrandColors(@NonNull Context context, @ColorInt int mainColor, @ColorInt int textColor) { final int previousMainColor = readBrandMainColor(context); final int previousTextColor = readBrandTextColor(context); - final SharedPreferences.Editor editor = PreferenceManager.getDefaultSharedPreferences(context).edit(); + final var editor = PreferenceManager.getDefaultSharedPreferences(context).edit(); Log.v(TAG, "--- Write: shared_preference_theme_main" + " | " + mainColor); Log.v(TAG, "--- Write: shared_preference_theme_text" + " | " + textColor); editor.putInt(pref_key_branding_main, mainColor); @@ -100,7 +100,7 @@ public class BrandingUtil { editor.apply(); if (context instanceof BrandedActivity) { if (mainColor != previousMainColor || textColor != previousTextColor) { - final BrandedActivity activity = (BrandedActivity) context; + final var activity = (BrandedActivity) context; activity.runOnUiThread(() -> ActivityCompat.recreate(activity)); } } @@ -145,7 +145,7 @@ public class BrandingUtil { } public static void tintMenuIcon(@NonNull MenuItem menuItem, @ColorInt int color) { - Drawable drawable = menuItem.getIcon(); + var drawable = menuItem.getIcon(); if (drawable != null) { drawable = DrawableCompat.wrap(drawable); DrawableCompat.setTint(drawable, color); @@ -154,7 +154,7 @@ public class BrandingUtil { } public static void applyBrandToLayerDrawable(@NonNull LayerDrawable check, @IdRes int areaToColor, @ColorInt int mainColor) { - final Drawable drawable = check.findDrawableByLayerId(areaToColor); + final var drawable = check.findDrawableByLayerId(areaToColor); if (drawable == null) { Log.e(TAG, "Could not find areaToColor (" + areaToColor + "). Cannot apply brand."); } else { diff --git a/app/src/main/java/it/niedermann/owncloud/notes/edit/BaseNoteFragment.java b/app/src/main/java/it/niedermann/owncloud/notes/edit/BaseNoteFragment.java index 4fc883ac..d20f232e 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/edit/BaseNoteFragment.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/edit/BaseNoteFragment.java @@ -103,13 +103,13 @@ public abstract class BaseNoteFragment extends BrandedFragment implements Catego super.onViewCreated(view, savedInstanceState); executor.submit(() -> { try { - SingleSignOnAccount ssoAccount = SingleAccountHelper.getCurrentSingleSignOnAccount(requireContext().getApplicationContext()); + final var ssoAccount = SingleAccountHelper.getCurrentSingleSignOnAccount(requireContext().getApplicationContext()); this.localAccount = repo.getAccountByName(ssoAccount.name); if (savedInstanceState == null) { - long id = requireArguments().getLong(PARAM_NOTE_ID); + final long id = requireArguments().getLong(PARAM_NOTE_ID); if (id > 0) { - long accountId = requireArguments().getLong(PARAM_ACCOUNT_ID); + final long accountId = requireArguments().getLong(PARAM_ACCOUNT_ID); if (accountId > 0) { /* Switch account if account id has been provided */ this.localAccount = repo.getAccountById(accountId); @@ -120,8 +120,8 @@ public abstract class BaseNoteFragment extends BrandedFragment implements Catego requireActivity().runOnUiThread(() -> onNoteLoaded(note)); requireActivity().invalidateOptionsMenu(); } else { - Note cloudNote = (Note) requireArguments().getSerializable(PARAM_NEWNOTE); - String content = requireArguments().getString(PARAM_CONTENT); + final var cloudNote = (Note) requireArguments().getSerializable(PARAM_NEWNOTE); + final var content = requireArguments().getString(PARAM_CONTENT); if (cloudNote == null) { if (content == null) { throw new IllegalArgumentException(PARAM_NOTE_ID + " is not given, argument " + PARAM_NEWNOTE + " is missing and " + PARAM_CONTENT + " is missing."); @@ -198,7 +198,7 @@ public abstract class BaseNoteFragment extends BrandedFragment implements Catego if (note != null) { prepareFavoriteOption(menu.findItem(R.id.menu_favorite)); - final ApiVersion preferredApiVersion = ApiVersionUtil.getPreferredApiVersion(localAccount.getApiVersion()); + final var preferredApiVersion = ApiVersionUtil.getPreferredApiVersion(localAccount.getApiVersion()); menu.findItem(R.id.menu_title).setVisible(preferredApiVersion != null && preferredApiVersion.compareTo(ApiVersion.API_VERSION_1_0) >= 0); menu.findItem(R.id.menu_delete).setVisible(!isNew); } @@ -215,7 +215,7 @@ public abstract class BaseNoteFragment extends BrandedFragment implements Catego */ @Override public boolean onOptionsItemSelected(MenuItem item) { - int itemId = item.getItemId(); + final int itemId = item.getItemId(); if (itemId == R.id.menu_cancel) { executor.submit(() -> { if (originalNote == null) { @@ -251,10 +251,10 @@ public abstract class BaseNoteFragment extends BrandedFragment implements Catego return false; } else if (itemId == MENU_ID_PIN) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { - final ShortcutManager shortcutManager = requireActivity().getSystemService(ShortcutManager.class); + final var shortcutManager = requireActivity().getSystemService(ShortcutManager.class); if (shortcutManager != null) { if (shortcutManager.isRequestPinShortcutSupported()) { - final ShortcutInfo pinShortcutInfo = new ShortcutInfo.Builder(getActivity(), note.getId() + "") + final var pinShortcutInfo = new ShortcutInfo.Builder(getActivity(), note.getId() + "") .setShortLabel(note.getTitle()) .setIcon(Icon.createWithResource(requireActivity().getApplicationContext(), TRUE.equals(note.getFavorite()) ? R.drawable.ic_star_yellow_24dp : R.drawable.ic_star_grey_ccc_24dp)) .setIntent(new Intent(getActivity(), EditNoteActivity.class).putExtra(EditNoteActivity.PARAM_NOTE_ID, note.getId()).setAction(ACTION_SHORTCUT)) @@ -278,7 +278,7 @@ public abstract class BaseNoteFragment extends BrandedFragment implements Catego protected void onNoteLoaded(Note note) { this.originalScrollY = note.getScrollY(); scrollToY(originalScrollY); - final ScrollView scrollView = getScrollView(); + final var scrollView = getScrollView(); if (scrollView != null) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { scrollView.setOnScrollChangeListener((View v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) -> { @@ -304,7 +304,7 @@ public abstract class BaseNoteFragment extends BrandedFragment implements Catego protected void saveNote(@Nullable ISyncCallback callback) { Log.d(TAG, "saveData()"); if (note != null) { - final String newContent = getContent(); + final var newContent = getContent(); if (note.getContent().equals(newContent)) { if (note.getScrollY() != originalScrollY) { Log.v(TAG, "... only saving new scroll state, since content did not change"); @@ -329,13 +329,13 @@ public abstract class BaseNoteFragment extends BrandedFragment implements Catego * Opens a dialog in order to chose a category */ private void showCategorySelector() { - final String fragmentId = "fragment_category"; - FragmentManager manager = requireActivity().getSupportFragmentManager(); - Fragment frag = manager.findFragmentByTag(fragmentId); + final var fragmentId = "fragment_category"; + final var manager = requireActivity().getSupportFragmentManager(); + final var frag = manager.findFragmentByTag(fragmentId); if (frag != null) { manager.beginTransaction().remove(frag).commit(); } - final DialogFragment categoryFragment = CategoryDialogFragment.newInstance(note.getAccountId(), note.getCategory()); + final var categoryFragment = CategoryDialogFragment.newInstance(note.getAccountId(), note.getCategory()); categoryFragment.setTargetFragment(this, 0); categoryFragment.show(manager, fragmentId); } @@ -345,13 +345,13 @@ public abstract class BaseNoteFragment extends BrandedFragment implements Catego */ public void showEditTitleDialog() { saveNote(null); - final String fragmentId = "fragment_edit_title"; - FragmentManager manager = requireActivity().getSupportFragmentManager(); - Fragment frag = manager.findFragmentByTag(fragmentId); + final var fragmentId = "fragment_edit_title"; + final var manager = requireActivity().getSupportFragmentManager(); + final var frag = manager.findFragmentByTag(fragmentId); if (frag != null) { manager.beginTransaction().remove(frag).commit(); } - DialogFragment editTitleFragment = EditTitleDialogFragment.newInstance(note.getTitle()); + final var editTitleFragment = EditTitleDialogFragment.newInstance(note.getTitle()); editTitleFragment.setTargetFragment(this, 0); editTitleFragment.show(manager, fragmentId); } @@ -374,7 +374,7 @@ public abstract class BaseNoteFragment extends BrandedFragment implements Catego } public void moveNote(Account account) { - final LiveData<Note> moveLiveData = repo.moveNoteToAnotherAccount(account, note); + final var moveLiveData = repo.moveNoteToAnotherAccount(account, note); moveLiveData.observe(this, (v) -> moveLiveData.removeObservers(this)); listener.close(); } diff --git a/app/src/main/java/it/niedermann/owncloud/notes/edit/EditNoteActivity.java b/app/src/main/java/it/niedermann/owncloud/notes/edit/EditNoteActivity.java index c00db4aa..504f333a 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/edit/EditNoteActivity.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/edit/EditNoteActivity.java @@ -131,15 +131,15 @@ public class EditNoteActivity extends LockedActivity implements BaseNoteFragment * @param noteId ID of the existing note. */ private void launchExistingNote(long accountId, long noteId) { - final String prefKeyNoteMode = getString(R.string.pref_key_note_mode); - final String prefKeyLastMode = getString(R.string.pref_key_last_note_mode); - final String prefValueEdit = getString(R.string.pref_value_mode_edit); - final String prefValuePreview = getString(R.string.pref_value_mode_preview); - final String prefValueLast = getString(R.string.pref_value_mode_last); - - SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()); - String mode = preferences.getString(prefKeyNoteMode, prefValueEdit); - String lastMode = preferences.getString(prefKeyLastMode, prefValueEdit); + final var prefKeyNoteMode = getString(R.string.pref_key_note_mode); + final var prefKeyLastMode = getString(R.string.pref_key_last_note_mode); + final var prefValueEdit = getString(R.string.pref_value_mode_edit); + final var prefValuePreview = getString(R.string.pref_value_mode_preview); + final var prefValueLast = getString(R.string.pref_value_mode_last); + + final var preferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()); + final String mode = preferences.getString(prefKeyNoteMode, prefValueEdit); + final String lastMode = preferences.getString(prefKeyLastMode, prefValueEdit); boolean editMode = true; if (prefValuePreview.equals(mode) || (prefValueLast.equals(mode) && prefValuePreview.equals(lastMode))) { editMode = false; @@ -176,7 +176,7 @@ public class EditNoteActivity extends LockedActivity implements BaseNoteFragment * Content ("share" functionality), category and favorite attribute can be preset. */ private void launchNewNote() { - Intent intent = getIntent(); + final var intent = getIntent(); String categoryTitle = ""; boolean favorite = false; @@ -204,19 +204,19 @@ public class EditNoteActivity extends LockedActivity implements BaseNoteFragment if (content == null) { content = ""; } - Note newNote = new Note(null, Calendar.getInstance(), NoteUtil.generateNonEmptyNoteTitle(content, this), content, categoryTitle, favorite, null); + final var newNote = new Note(null, Calendar.getInstance(), NoteUtil.generateNonEmptyNoteTitle(content, this), content, categoryTitle, favorite, null); fragment = NoteEditFragment.newInstanceWithNewNote(newNote); getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container_view, fragment).commit(); } private void launchReadonlyNote() { - Intent intent = getIntent(); - StringBuilder content = new StringBuilder(); + final var intent = getIntent(); + final var content = new StringBuilder(); try { - InputStream inputStream = getContentResolver().openInputStream(Objects.requireNonNull(intent.getData())); - BufferedReader r = new BufferedReader(new InputStreamReader(Objects.requireNonNull(inputStream))); + final var inputStream = getContentResolver().openInputStream(Objects.requireNonNull(intent.getData())); + final var bufferedReader = new BufferedReader(new InputStreamReader(Objects.requireNonNull(inputStream))); String line; - while ((line = r.readLine()) != null) { + while ((line = bufferedReader.readLine()) != null) { content.append(line).append('\n'); } } catch (IOException e) { @@ -241,7 +241,7 @@ public class EditNoteActivity extends LockedActivity implements BaseNoteFragment @Override public boolean onOptionsItemSelected(MenuItem item) { - int itemId = item.getItemId(); + final int itemId = item.getItemId(); if (itemId == android.R.id.home) { close(); return true; @@ -263,7 +263,7 @@ public class EditNoteActivity extends LockedActivity implements BaseNoteFragment /* TODO enhancement: store last mode in note * for cross device functionality per note mode should be stored on the server. */ - SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()); + final var preferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()); final String prefKeyLastMode = getString(R.string.pref_key_last_note_mode); if (fragment instanceof NoteEditFragment) { preferences.edit().putString(prefKeyLastMode, getString(R.string.pref_value_mode_edit)).apply(); diff --git a/app/src/main/java/it/niedermann/owncloud/notes/edit/NoteEditFragment.java b/app/src/main/java/it/niedermann/owncloud/notes/edit/NoteEditFragment.java index 83c8eb1a..6733f4d3 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/edit/NoteEditFragment.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/edit/NoteEditFragment.java @@ -156,7 +156,7 @@ public class NoteEditFragment extends SearchableBaseNoteFragment { binding.editContent.setMarkdownString(note.getContent()); binding.editContent.setEnabled(true); - final SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(requireContext().getApplicationContext()); + final var sp = PreferenceManager.getDefaultSharedPreferences(requireContext().getApplicationContext()); binding.editContent.setTextSize(TypedValue.COMPLEX_UNIT_PX, getFontSizeFromPreferences(requireContext(), sp)); if (sp.getBoolean(getString(R.string.pref_key_font), false)) { binding.editContent.setTypeface(Typeface.MONOSPACE); @@ -167,7 +167,7 @@ public class NoteEditFragment extends SearchableBaseNoteFragment { binding.editContent.postDelayed(() -> { binding.editContent.requestFocus(); - final InputMethodManager imm = (InputMethodManager) requireContext().getSystemService(Context.INPUT_METHOD_SERVICE); + final var imm = (InputMethodManager) requireContext().getSystemService(Context.INPUT_METHOD_SERVICE); if (imm != null) { imm.showSoftInput(binding.editContent, InputMethodManager.SHOW_IMPLICIT); } else { @@ -202,7 +202,7 @@ public class NoteEditFragment extends SearchableBaseNoteFragment { */ @Override protected String getContent() { - final Editable editable = binding.editContent.getText(); + final var editable = binding.editContent.getText(); return editable == null ? "" : editable.toString(); } @@ -257,8 +257,8 @@ public class NoteEditFragment extends SearchableBaseNoteFragment { } public static BaseNoteFragment newInstance(long accountId, long noteId) { - final BaseNoteFragment fragment = new NoteEditFragment(); - final Bundle args = new Bundle(); + final var fragment = new NoteEditFragment(); + final var args = new Bundle(); args.putLong(PARAM_NOTE_ID, noteId); args.putLong(PARAM_ACCOUNT_ID, accountId); fragment.setArguments(args); @@ -266,8 +266,8 @@ public class NoteEditFragment extends SearchableBaseNoteFragment { } public static BaseNoteFragment newInstanceWithNewNote(Note newNote) { - final BaseNoteFragment fragment = new NoteEditFragment(); - final Bundle args = new Bundle(); + final var fragment = new NoteEditFragment(); + final var args = new Bundle(); args.putSerializable(PARAM_NEWNOTE, newNote); fragment.setArguments(args); return fragment; diff --git a/app/src/main/java/it/niedermann/owncloud/notes/edit/NotePreviewFragment.java b/app/src/main/java/it/niedermann/owncloud/notes/edit/NotePreviewFragment.java index f15d0e59..9d26f500 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/edit/NotePreviewFragment.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/edit/NotePreviewFragment.java @@ -102,7 +102,7 @@ public class NotePreviewFragment extends SearchableBaseNoteFragment implements O registerInternalNoteLinkHandler(); binding.singleNoteContent.setMovementMethod(LinkMovementMethod.getInstance()); - final SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(requireActivity().getApplicationContext()); + final var sp = PreferenceManager.getDefaultSharedPreferences(requireActivity().getApplicationContext()); binding.singleNoteContent.setTextSize(TypedValue.COMPLEX_UNIT_PX, getFontSizeFromPreferences(requireContext(), sp)); if (sp.getBoolean(getString(R.string.pref_key_font), false)) { binding.singleNoteContent.setTypeface(Typeface.MONOSPACE); @@ -157,7 +157,7 @@ public class NotePreviewFragment extends SearchableBaseNoteFragment implements O binding.swiperefreshlayout.setRefreshing(true); executor.submit(() -> { try { - final Account account = repo.getAccountByName(SingleAccountHelper.getCurrentSingleSignOnAccount(requireContext()).name); + final var account = repo.getAccountByName(SingleAccountHelper.getCurrentSingleSignOnAccount(requireContext()).name); repo.addCallbackPull(account, () -> executor.submit(() -> { note = repo.getNoteById(note.getId()); changedText = note.getContent(); @@ -185,8 +185,8 @@ public class NotePreviewFragment extends SearchableBaseNoteFragment implements O } public static BaseNoteFragment newInstance(long accountId, long noteId) { - final BaseNoteFragment fragment = new NotePreviewFragment(); - final Bundle args = new Bundle(); + final var fragment = new NotePreviewFragment(); + final var args = new Bundle(); args.putLong(PARAM_NOTE_ID, noteId); args.putLong(PARAM_ACCOUNT_ID, accountId); fragment.setArguments(args); diff --git a/app/src/main/java/it/niedermann/owncloud/notes/edit/NoteReadonlyFragment.java b/app/src/main/java/it/niedermann/owncloud/notes/edit/NoteReadonlyFragment.java index d03374d8..55771c24 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/edit/NoteReadonlyFragment.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/edit/NoteReadonlyFragment.java @@ -60,8 +60,8 @@ public class NoteReadonlyFragment extends NotePreviewFragment { } public static BaseNoteFragment newInstance(String content) { - final BaseNoteFragment fragment = new NoteReadonlyFragment(); - final Bundle args = new Bundle(); + final var fragment = new NoteReadonlyFragment(); + final var args = new Bundle(); args.putString(PARAM_CONTENT, content); fragment.setArguments(args); return fragment; diff --git a/app/src/main/java/it/niedermann/owncloud/notes/edit/SearchableBaseNoteFragment.java b/app/src/main/java/it/niedermann/owncloud/notes/edit/SearchableBaseNoteFragment.java index bfbb798b..7820b8e6 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/edit/SearchableBaseNoteFragment.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/edit/SearchableBaseNoteFragment.java @@ -65,7 +65,7 @@ public abstract class SearchableBaseNoteFragment extends BaseNoteFragment { public void onPrepareOptionsMenu(@NonNull Menu menu) { super.onPrepareOptionsMenu(menu); - MenuItem searchMenuItem = menu.findItem(R.id.search); + final var searchMenuItem = menu.findItem(R.id.search); searchView = (SearchView) searchMenuItem.getActionView(); if (!TextUtils.isEmpty(searchQuery) && isNew) { @@ -77,7 +77,7 @@ public abstract class SearchableBaseNoteFragment extends BaseNoteFragment { } - final LinearLayout searchEditFrame = searchView.findViewById(R.id + final var searchEditFrame = searchView.findViewById(R.id .search_edit_frame); searchEditFrame.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { @@ -85,7 +85,7 @@ public abstract class SearchableBaseNoteFragment extends BaseNoteFragment { @Override public void onGlobalLayout() { - int currentVisibility = searchEditFrame.getVisibility(); + final int currentVisibility = searchEditFrame.getVisibility(); if (currentVisibility != oldVisibility) { if (currentVisibility != View.VISIBLE) { @@ -105,8 +105,8 @@ public abstract class SearchableBaseNoteFragment extends BaseNoteFragment { }); - FloatingActionButton next = getSearchNextButton(); - FloatingActionButton prev = getSearchPrevButton(); + final var next = getSearchNextButton(); + final var prev = getSearchPrevButton(); if (next != null) { next.setOnClickListener(v -> { @@ -208,8 +208,8 @@ public abstract class SearchableBaseNoteFragment extends BaseNoteFragment { protected abstract FloatingActionButton getSearchPrevButton(); private void showSearchFabs() { - FloatingActionButton next = getSearchNextButton(); - FloatingActionButton prev = getSearchPrevButton(); + final var next = getSearchNextButton(); + final var prev = getSearchPrevButton(); if (prev != null) { prev.show(); } @@ -219,8 +219,8 @@ public abstract class SearchableBaseNoteFragment extends BaseNoteFragment { } private void hideSearchFabs() { - FloatingActionButton next = getSearchNextButton(); - FloatingActionButton prev = getSearchPrevButton(); + final var next = getSearchNextButton(); + final var prev = getSearchPrevButton(); if (prev != null) { prev.hide(); } @@ -230,7 +230,7 @@ public abstract class SearchableBaseNoteFragment extends BaseNoteFragment { } private void jumpToOccurrence() { - Layout layout = getLayout(); + final var layout = getLayout(); if (layout == null) { Log.w(TAG, "getLayout() is null"); } else if (getContent() == null || getContent().isEmpty()) { @@ -240,8 +240,8 @@ public abstract class SearchableBaseNoteFragment extends BaseNoteFragment { currentOccurrence = occurrenceCount; jumpToOccurrence(); } else if (searchQuery != null && !searchQuery.isEmpty()) { - String currentContent = getContent().toLowerCase(); - int indexOfNewText = indexOfNth(currentContent, searchQuery.toLowerCase(), 0, currentOccurrence); + final String currentContent = getContent().toLowerCase(); + final int indexOfNewText = indexOfNth(currentContent, searchQuery.toLowerCase(), 0, currentOccurrence); if (indexOfNewText <= 0) { // Search term is not n times in text // Go back to first search result @@ -251,11 +251,11 @@ public abstract class SearchableBaseNoteFragment extends BaseNoteFragment { } return; } - String textUntilFirstOccurrence = currentContent.substring(0, indexOfNewText); - int numberLine = layout.getLineForOffset(textUntilFirstOccurrence.length()); + final String textUntilFirstOccurrence = currentContent.substring(0, indexOfNewText); + final int numberLine = layout.getLineForOffset(textUntilFirstOccurrence.length()); if (numberLine >= 0) { - ScrollView scrollView = getScrollView(); + final var scrollView = getScrollView(); if (scrollView != null) { scrollView.post(() -> scrollView.smoothScrollTo(0, layout.getLineTop(numberLine))); } @@ -268,7 +268,7 @@ public abstract class SearchableBaseNoteFragment extends BaseNoteFragment { throw new IllegalArgumentException("Param 'nth' must be greater than 0!"); if (nth == 1) return input.indexOf(value, startIndex); - int idx = input.indexOf(value, startIndex); + final int idx = input.indexOf(value, startIndex); if (idx == -1) return -1; return indexOfNth(input, value, idx + 1, nth - 1); @@ -281,11 +281,11 @@ public abstract class SearchableBaseNoteFragment extends BaseNoteFragment { // Use regrex which is faster before. // Such that the main thread will not stop for a long tilme // And so there will not an ANR problem - Matcher m = Pattern.compile(needle, Pattern.CASE_INSENSITIVE | Pattern.LITERAL) + final var matcher = Pattern.compile(needle, Pattern.CASE_INSENSITIVE | Pattern.LITERAL) .matcher(haystack); int count = 0; - while (m.find()) { + while (matcher.find()) { count++; } return count; diff --git a/app/src/main/java/it/niedermann/owncloud/notes/edit/category/CategoryAdapter.java b/app/src/main/java/it/niedermann/owncloud/notes/edit/category/CategoryAdapter.java index 4b3bb9ba..cae09cc0 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/edit/category/CategoryAdapter.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/edit/category/CategoryAdapter.java @@ -27,7 +27,7 @@ public class CategoryAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolde private static final String clearItemId = "clear_item"; private static final String addItemId = "add_item"; @NonNull - private List<NavigationItem> categories = new ArrayList<>(); + private final List<NavigationItem> categories = new ArrayList<>(); @NonNull private final CategoryListener listener; private final Context context; @@ -40,18 +40,18 @@ public class CategoryAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolde @NonNull @Override public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { - View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_category, parent, false); - return new CategoryViewHolder(v); + final var view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_category, parent, false); + return new CategoryViewHolder(view); } @Override public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) { - NavigationItem category = categories.get(position); - CategoryViewHolder categoryViewHolder = (CategoryViewHolder) holder; + final var category = categories.get(position); + final var categoryViewHolder = (CategoryViewHolder) holder; switch (category.id) { case addItemId: - Drawable wrapDrawable = DrawableCompat.wrap(ContextCompat.getDrawable(context, category.icon)); + final var wrapDrawable = DrawableCompat.wrap(ContextCompat.getDrawable(context, category.icon)); DrawableCompat.setTint(wrapDrawable, ContextCompat.getColor(context, R.color.icon_color_default)); categoryViewHolder.getIcon().setImageDrawable(wrapDrawable); categoryViewHolder.getCategoryWrapper().setOnClickListener((v) -> listener.onCategoryAdded()); @@ -110,14 +110,14 @@ public class CategoryAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolde this.categories.add(0, clearItem); if (currentSearchString != null && currentSearchString.trim().length() > 0) { boolean currentSearchStringIsInCategories = false; - for (NavigationItem category : categories) { + for (final var category : categories) { if (currentSearchString.equals(category.label)) { currentSearchStringIsInCategories = true; break; } } if (!currentSearchStringIsInCategories) { - NavigationItem addItem = new NavigationItem(addItemId, context.getString(R.string.add_category, currentSearchString.trim()), 0, R.drawable.ic_add_blue_24dp); + final var addItem = new NavigationItem(addItemId, context.getString(R.string.add_category, currentSearchString.trim()), 0, R.drawable.ic_add_blue_24dp); this.categories.add(addItem); } } diff --git a/app/src/main/java/it/niedermann/owncloud/notes/edit/category/CategoryDialogFragment.java b/app/src/main/java/it/niedermann/owncloud/notes/edit/category/CategoryDialogFragment.java index 648578d4..530a5549 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/edit/category/CategoryDialogFragment.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/edit/category/CategoryDialogFragment.java @@ -77,7 +77,7 @@ public class CategoryDialogFragment extends BrandedDialogFragment { } else { throw new IllegalArgumentException("Provide at least \"" + PARAM_ACCOUNT_ID + "\""); } - Fragment target = getTargetFragment(); + final var target = getTargetFragment(); if (target instanceof CategoryDialogListener) { listener = (CategoryDialogListener) target; } else if (getActivity() instanceof CategoryDialogListener) { @@ -96,7 +96,7 @@ public class CategoryDialogFragment extends BrandedDialogFragment { @NonNull @Override public Dialog onCreateDialog(Bundle savedInstanceState) { - View dialogView = View.inflate(getContext(), R.layout.dialog_change_category, null); + final var dialogView = View.inflate(getContext(), R.layout.dialog_change_category, null); binding = DialogChangeCategoryBinding.bind(dialogView); this.editCategory = binding.search; @@ -187,11 +187,11 @@ public class CategoryDialogFragment extends BrandedDialogFragment { } public static DialogFragment newInstance(long accountId, String category) { - final DialogFragment categoryFragment = new CategoryDialogFragment(); - final Bundle arguments = new Bundle(); - arguments.putString(CategoryDialogFragment.PARAM_CATEGORY, category); - arguments.putLong(CategoryDialogFragment.PARAM_ACCOUNT_ID, accountId); - categoryFragment.setArguments(arguments); + final var categoryFragment = new CategoryDialogFragment(); + final var args = new Bundle(); + args.putString(CategoryDialogFragment.PARAM_CATEGORY, category); + args.putLong(CategoryDialogFragment.PARAM_ACCOUNT_ID, accountId); + categoryFragment.setArguments(args); return categoryFragment; } } diff --git a/app/src/main/java/it/niedermann/owncloud/notes/edit/title/EditTitleDialogFragment.java b/app/src/main/java/it/niedermann/owncloud/notes/edit/title/EditTitleDialogFragment.java index e9473399..d372cdcb 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/edit/title/EditTitleDialogFragment.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/edit/title/EditTitleDialogFragment.java @@ -28,7 +28,7 @@ public class EditTitleDialogFragment extends DialogFragment { @Override public void onAttach(@NonNull Context context) { super.onAttach(context); - final Bundle args = getArguments(); + final var args = getArguments(); if (args == null) { throw new IllegalArgumentException("Provide at least " + PARAM_OLD_TITLE); } @@ -46,7 +46,7 @@ public class EditTitleDialogFragment extends DialogFragment { @NonNull @Override public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) { - View dialogView = View.inflate(getContext(), R.layout.dialog_edit_title, null); + final var dialogView = View.inflate(getContext(), R.layout.dialog_edit_title, null); binding = DialogEditTitleBinding.bind(dialogView); if (savedInstanceState == null) { @@ -66,7 +66,7 @@ public class EditTitleDialogFragment extends DialogFragment { public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); binding.title.requestFocus(); - Window window = requireDialog().getWindow(); + final var window = requireDialog().getWindow(); if (window != null) { window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE); } else { @@ -75,8 +75,8 @@ public class EditTitleDialogFragment extends DialogFragment { } public static DialogFragment newInstance(String title) { - final DialogFragment fragment = new EditTitleDialogFragment(); - final Bundle args = new Bundle(); + final var fragment = new EditTitleDialogFragment(); + final var args = new Bundle(); args.putString(PARAM_OLD_TITLE, title); fragment.setArguments(args); return fragment; diff --git a/app/src/main/java/it/niedermann/owncloud/notes/exception/ExceptionActivity.java b/app/src/main/java/it/niedermann/owncloud/notes/exception/ExceptionActivity.java index 0b6c1a98..0761b603 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/exception/ExceptionActivity.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/exception/ExceptionActivity.java @@ -26,18 +26,18 @@ public class ExceptionActivity extends AppCompatActivity { protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); - final ActivityExceptionBinding binding = ActivityExceptionBinding.inflate(getLayoutInflater()); + final var binding = ActivityExceptionBinding.inflate(getLayoutInflater()); setContentView(binding.getRoot()); setSupportActionBar(binding.toolbar); - Throwable throwable = ((Throwable) getIntent().getSerializableExtra(KEY_THROWABLE)); + var throwable = ((Throwable) getIntent().getSerializableExtra(KEY_THROWABLE)); if (throwable == null) { throwable = new Exception("Could not get exception"); } - final TipsAdapter adapter = new TipsAdapter(this::startActivity); + final var adapter = new TipsAdapter(this::startActivity); final String debugInfos = ExceptionUtil.INSTANCE.getDebugInfos(this, throwable, BuildConfig.FLAVOR); binding.tips.setAdapter(adapter); @@ -53,7 +53,7 @@ public class ExceptionActivity extends AppCompatActivity { @NonNull public static Intent createIntent(@NonNull Context context, Throwable throwable) { - final Bundle args = new Bundle(); + final var args = new Bundle(); args.putSerializable(KEY_THROWABLE, throwable); return new Intent(context, ExceptionActivity.class) .putExtras(args) diff --git a/app/src/main/java/it/niedermann/owncloud/notes/exception/ExceptionDialogFragment.java b/app/src/main/java/it/niedermann/owncloud/notes/exception/ExceptionDialogFragment.java index 09d3380f..8845e190 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/exception/ExceptionDialogFragment.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/exception/ExceptionDialogFragment.java @@ -30,11 +30,11 @@ public class ExceptionDialogFragment extends AppCompatDialogFragment { @Override public void onAttach(@NonNull Context context) { super.onAttach(context); - final Bundle args = getArguments(); + final var args = getArguments(); if (args != null) { - final Object throwablesArgument = args.getSerializable(KEY_THROWABLES); + final var throwablesArgument = args.getSerializable(KEY_THROWABLES); if (throwablesArgument instanceof Iterable<?>) { - for (Object arg : (Iterable<?>) throwablesArgument) { + for (final var arg : (Iterable<?>) throwablesArgument) { if (arg instanceof Throwable) { throwables.add((Throwable) arg); } else { @@ -50,10 +50,10 @@ public class ExceptionDialogFragment extends AppCompatDialogFragment { @NonNull @Override public Dialog onCreateDialog(Bundle savedInstanceState) { - final View view = View.inflate(getContext(), R.layout.dialog_exception, null); - final DialogExceptionBinding binding = DialogExceptionBinding.bind(view); + final var view = View.inflate(getContext(), R.layout.dialog_exception, null); + final var binding = DialogExceptionBinding.bind(view); - final TipsAdapter adapter = new TipsAdapter((actionIntent) -> requireActivity().startActivity(actionIntent)); + final var adapter = new TipsAdapter((actionIntent) -> requireActivity().startActivity(actionIntent)); final String debugInfos = ExceptionUtil.INSTANCE.getDebugInfos(requireContext(), throwables, BuildConfig.FLAVOR); @@ -72,19 +72,19 @@ public class ExceptionDialogFragment extends AppCompatDialogFragment { } public static DialogFragment newInstance(ArrayList<Throwable> exceptions) { - final Bundle args = new Bundle(); + final var args = new Bundle(); args.putSerializable(KEY_THROWABLES, exceptions); - final DialogFragment fragment = new ExceptionDialogFragment(); + final var fragment = new ExceptionDialogFragment(); fragment.setArguments(args); return fragment; } public static DialogFragment newInstance(Throwable exception) { - final Bundle args = new Bundle(); - final ArrayList<Throwable> list = new ArrayList<>(1); + final var args = new Bundle(); + final var list = new ArrayList<Throwable>(1); list.add(exception); args.putSerializable(KEY_THROWABLES, list); - final DialogFragment fragment = new ExceptionDialogFragment(); + final var fragment = new ExceptionDialogFragment(); fragment.setArguments(args); return fragment; } diff --git a/app/src/main/java/it/niedermann/owncloud/notes/exception/tips/TipsAdapter.java b/app/src/main/java/it/niedermann/owncloud/notes/exception/tips/TipsAdapter.java index 694d8a33..dea80ed8 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/exception/tips/TipsAdapter.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/exception/tips/TipsAdapter.java @@ -48,8 +48,8 @@ public class TipsAdapter extends RecyclerView.Adapter<TipsViewHolder> { @NonNull @Override public TipsViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { - final View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_tip, parent, false); - return new TipsViewHolder(v); + final var view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_tip, parent, false); + return new TipsViewHolder(view); } @Override @@ -63,17 +63,17 @@ public class TipsAdapter extends RecyclerView.Adapter<TipsViewHolder> { } public void setThrowables(@NonNull List<Throwable> throwables) { - for (Throwable t : throwables) { - if (t instanceof TokenMismatchException) { + for (final var throwable : throwables) { + if (throwable instanceof TokenMismatchException) { add(R.string.error_dialog_tip_token_mismatch_retry); add(R.string.error_dialog_tip_token_mismatch_clear_storage); - Intent intent = new Intent(ACTION_APPLICATION_DETAILS_SETTINGS) + final var intent = new Intent(ACTION_APPLICATION_DETAILS_SETTINGS) .setData(Uri.parse("package:" + BuildConfig.APPLICATION_ID)) .putExtra(INTENT_EXTRA_BUTTON_TEXT, R.string.error_action_open_deck_info); add(R.string.error_dialog_tip_clear_storage, intent); - } else if (t instanceof NextcloudFilesAppNotSupportedException) { + } else if (throwable instanceof NextcloudFilesAppNotSupportedException) { add(R.string.error_dialog_tip_files_outdated); - } else if (t instanceof NextcloudApiNotRespondingException) { + } else if (throwable instanceof NextcloudApiNotRespondingException) { if (VERSION.SDK_INT >= VERSION_CODES.M) { add(R.string.error_dialog_tip_disable_battery_optimizations, new Intent().setAction(Settings.ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS).putExtra(INTENT_EXTRA_BUTTON_TEXT, R.string.error_action_open_battery_settings)); } else { @@ -81,17 +81,17 @@ public class TipsAdapter extends RecyclerView.Adapter<TipsViewHolder> { } add(R.string.error_dialog_tip_files_force_stop); add(R.string.error_dialog_tip_files_delete_storage); - Intent intent = new Intent(ACTION_APPLICATION_DETAILS_SETTINGS) + final var intent = new Intent(ACTION_APPLICATION_DETAILS_SETTINGS) .setData(Uri.parse("package:" + BuildConfig.APPLICATION_ID)) .putExtra(INTENT_EXTRA_BUTTON_TEXT, R.string.error_action_open_deck_info); add(R.string.error_dialog_tip_clear_storage, intent); - } else if (t instanceof SocketTimeoutException || t instanceof ConnectException) { + } else if (throwable instanceof SocketTimeoutException || throwable instanceof ConnectException) { add(R.string.error_dialog_timeout_instance); add(R.string.error_dialog_timeout_toggle, new Intent(Settings.ACTION_WIFI_SETTINGS).putExtra(INTENT_EXTRA_BUTTON_TEXT, R.string.error_action_open_network)); - } else if (t instanceof JSONException || t instanceof NullPointerException) { + } else if (throwable instanceof JSONException || throwable instanceof NullPointerException) { add(R.string.error_dialog_check_server); - } else if (t instanceof NextcloudHttpRequestFailedException) { - int statusCode = ((NextcloudHttpRequestFailedException) t).getStatusCode(); + } else if (throwable instanceof NextcloudHttpRequestFailedException) { + final int statusCode = ((NextcloudHttpRequestFailedException) throwable).getStatusCode(); switch (statusCode) { case 302: add(R.string.error_dialog_server_app_enabled); diff --git a/app/src/main/java/it/niedermann/owncloud/notes/exception/tips/TipsModel.java b/app/src/main/java/it/niedermann/owncloud/notes/exception/tips/TipsModel.java index b2a4eec3..1197898d 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/exception/tips/TipsModel.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/exception/tips/TipsModel.java @@ -8,10 +8,9 @@ import androidx.annotation.StringRes; @SuppressWarnings("WeakerAccess") public class TipsModel { @StringRes - private int text; + private final int text; @Nullable - private - Intent actionIntent; + private final Intent actionIntent; TipsModel(@StringRes int text, @Nullable Intent actionIntent) { this.text = text; diff --git a/app/src/main/java/it/niedermann/owncloud/notes/exception/tips/TipsViewHolder.java b/app/src/main/java/it/niedermann/owncloud/notes/exception/tips/TipsViewHolder.java index fab852df..e0c2a410 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/exception/tips/TipsViewHolder.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/exception/tips/TipsViewHolder.java @@ -23,11 +23,11 @@ public class TipsViewHolder extends RecyclerView.ViewHolder { public void bind(TipsModel tip, Consumer<Intent> actionButtonClickedListener) { binding.tip.setText(tip.getText()); - final Intent actionIntent = tip.getActionIntent(); - if (actionIntent != null && actionIntent.hasExtra(INTENT_EXTRA_BUTTON_TEXT)) { + final var intent = tip.getActionIntent(); + if (intent != null && intent.hasExtra(INTENT_EXTRA_BUTTON_TEXT)) { binding.actionButton.setVisibility(View.VISIBLE); - binding.actionButton.setText(actionIntent.getIntExtra(INTENT_EXTRA_BUTTON_TEXT, 0)); - binding.actionButton.setOnClickListener((v) -> actionButtonClickedListener.accept(actionIntent)); + binding.actionButton.setText(intent.getIntExtra(INTENT_EXTRA_BUTTON_TEXT, 0)); + binding.actionButton.setOnClickListener((v) -> actionButtonClickedListener.accept(intent)); } else { binding.actionButton.setVisibility(View.GONE); } diff --git a/app/src/main/java/it/niedermann/owncloud/notes/importaccount/ImportAccountActivity.java b/app/src/main/java/it/niedermann/owncloud/notes/importaccount/ImportAccountActivity.java index 2e78af2c..1e50ac0f 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/importaccount/ImportAccountActivity.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/importaccount/ImportAccountActivity.java @@ -94,7 +94,7 @@ public class ImportAccountActivity extends AppCompatActivity { Log.i(TAG, "Added account: " + "name:" + ssoAccount.name + ", " + ssoAccount.url + ", userId" + ssoAccount.userId); try { Log.i(TAG, "Loading capabilities for " + ssoAccount.name); - final Capabilities capabilities = CapabilitiesClient.getCapabilities(getApplicationContext(), ssoAccount, null, ApiProvider.getInstance()); + final var capabilities = CapabilitiesClient.getCapabilities(getApplicationContext(), ssoAccount, null, ApiProvider.getInstance()); final String displayName = CapabilitiesClient.getDisplayName(getApplicationContext(), ssoAccount, ApiProvider.getInstance()); importAccountViewModel.addAccount(ssoAccount.url, ssoAccount.userId, ssoAccount.name, capabilities, displayName, new IResponseCallback<Account>() { diff --git a/app/src/main/java/it/niedermann/owncloud/notes/main/MainActivity.java b/app/src/main/java/it/niedermann/owncloud/notes/main/MainActivity.java index 83bf8e0b..ee079fbd 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/main/MainActivity.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/main/MainActivity.java @@ -173,7 +173,7 @@ public class MainActivity extends LockedActivity implements NoteClickListener, A } else { executor.submit(() -> { try { - final Account account = mainViewModel.getLocalAccountByAccountName(SingleAccountHelper.getCurrentSingleSignOnAccount(getApplicationContext()).name); + final var account = mainViewModel.getLocalAccountByAccountName(SingleAccountHelper.getCurrentSingleSignOnAccount(getApplicationContext()).name); runOnUiThread(() -> mainViewModel.postCurrentAccount(account)); } catch (NextcloudFilesAppAccountNotFoundException e) { // Verbose log output for https://github.com/stefan-niedermann/nextcloud-notes/issues/1256 @@ -181,12 +181,12 @@ public class MainActivity extends LockedActivity implements NoteClickListener, A .setTitle(NextcloudFilesAppAccountNotFoundException.class.getSimpleName()) .setMessage(R.string.backup) .setPositiveButton(R.string.simple_backup, (a, b) -> executor.submit(() -> { - final List<Note> modifiedNotes = new LinkedList<>(); - for (Account account : mainViewModel.getAccounts()) { + final var modifiedNotes = new LinkedList<Note>(); + for (final var account : mainViewModel.getAccounts()) { modifiedNotes.addAll(mainViewModel.getLocalModifiedNotes(account.getId())); } if (modifiedNotes.size() == 1) { - final Note note = modifiedNotes.get(0); + final var note = modifiedNotes.get(0); ShareUtil.openShareDialog(this, note.getTitle(), note.getContent()); } else { ShareUtil.openShareDialog(this, @@ -195,12 +195,12 @@ public class MainActivity extends LockedActivity implements NoteClickListener, A } })) .setNegativeButton(R.string.simple_error, (a, b) -> { - final SharedPreferences ssoPreferences = AccountImporter.getSharedPreferences(getApplicationContext()); - final StringBuilder ssoPreferencesString = new StringBuilder() + final var ssoPreferences = AccountImporter.getSharedPreferences(getApplicationContext()); + final var ssoPreferencesString = new StringBuilder() .append("Current SSO account: ").append(ssoPreferences.getString("PREF_CURRENT_ACCOUNT_STRING", null)).append("\n") .append("\n") .append("SSO SharedPreferences: ").append("\n"); - for (Map.Entry<String, ?> entry : ssoPreferences.getAll().entrySet()) { + for (final var entry : ssoPreferences.getAll().entrySet()) { ssoPreferencesString.append(entry.getKey()).append(": ").append(entry.getValue()).append("\n"); } ssoPreferencesString.append("\n") @@ -251,7 +251,7 @@ public class MainActivity extends LockedActivity implements NoteClickListener, A } fabCreate.setOnClickListener((View view) -> { - final Intent createIntent = new Intent(getApplicationContext(), EditNoteActivity.class); + final var createIntent = new Intent(getApplicationContext(), EditNoteActivity.class); createIntent.putExtra(EditNoteActivity.PARAM_CATEGORY, selectedCategory); if (activityBinding.searchView.getQuery().length() > 0) { createIntent.putExtra(EditNoteActivity.PARAM_CONTENT, activityBinding.searchView.getQuery().toString()); @@ -269,8 +269,8 @@ public class MainActivity extends LockedActivity implements NoteClickListener, A binding.activityNotesListView.emptyContentView.getRoot().setVisibility(notes.size() > 0 ? GONE : VISIBLE); // Remove deleted notes from the selection if (tracker.hasSelection()) { - final Collection<Long> deletedNotes = new LinkedList<>(); - for (Long id : tracker.getSelection()) { + final var deletedNotes = new LinkedList<Long>(); + for (final var id : tracker.getSelection()) { if (notes .stream() .filter(item -> !item.isSection()) @@ -279,7 +279,7 @@ public class MainActivity extends LockedActivity implements NoteClickListener, A deletedNotes.add(id); } } - for (Long id : deletedNotes) { + for (final var id : deletedNotes) { tracker.deselect(id); } } @@ -289,13 +289,13 @@ public class MainActivity extends LockedActivity implements NoteClickListener, A updateSortMethodIcon(methodOfCategory.second); activityBinding.sortingMethod.setOnClickListener((v) -> { if (methodOfCategory.first != null) { - CategorySortingMethod newMethod = methodOfCategory.second; + var newMethod = methodOfCategory.second; if (newMethod == CategorySortingMethod.SORT_LEXICOGRAPHICAL_ASC) { newMethod = CategorySortingMethod.SORT_MODIFIED_DESC; } else { newMethod = CategorySortingMethod.SORT_LEXICOGRAPHICAL_ASC; } - final LiveData<Void> modifyLiveData = mainViewModel.modifyCategoryOrder(methodOfCategory.first, newMethod); + final var modifyLiveData = mainViewModel.modifyCategoryOrder(methodOfCategory.first, newMethod); modifyLiveData.observe(this, (next) -> modifyLiveData.removeObservers(this)); } }); @@ -355,7 +355,7 @@ public class MainActivity extends LockedActivity implements NoteClickListener, A @Override protected void onResume() { - final LiveData<Account> accountLiveData = mainViewModel.getCurrentAccount(); + final var accountLiveData = mainViewModel.getCurrentAccount(); accountLiveData.observe(this, (currentAccount) -> { accountLiveData.removeObservers(this); try { @@ -423,8 +423,8 @@ public class MainActivity extends LockedActivity implements NoteClickListener, A listView.setAdapter(adapter); listView.setItemAnimator(null); if (gridView) { - int spanCount = getResources().getInteger(R.integer.grid_view_span_count); - StaggeredGridLayoutManager gridLayoutManager = new StaggeredGridLayoutManager(spanCount, StaggeredGridLayoutManager.VERTICAL); + final int spanCount = getResources().getInteger(R.integer.grid_view_span_count); + final var gridLayoutManager = new StaggeredGridLayoutManager(spanCount, StaggeredGridLayoutManager.VERTICAL); listView.setLayoutManager(gridLayoutManager); listView.addItemDecoration(new GridItemDecoration(adapter, spanCount, getResources().getDimensionPixelSize(R.dimen.spacer_3x), @@ -434,7 +434,7 @@ public class MainActivity extends LockedActivity implements NoteClickListener, A getResources().getDimensionPixelSize(R.dimen.spacer_activity_sides) + getResources().getDimensionPixelSize(R.dimen.spacer_1x) )); } else { - LinearLayoutManager layoutManager = new LinearLayoutManager(this); + final var layoutManager = new LinearLayoutManager(this); listView.setLayoutManager(layoutManager); listView.addItemDecoration(new SectionItemDecoration(adapter, getResources().getDimensionPixelSize(R.dimen.spacer_activity_sides) + getResources().getDimensionPixelSize(R.dimen.spacer_1x) + getResources().getDimensionPixelSize(R.dimen.spacer_3x) + getResources().getDimensionPixelSize(R.dimen.spacer_2x), @@ -456,10 +456,10 @@ public class MainActivity extends LockedActivity implements NoteClickListener, A swipeRefreshLayout.setOnRefreshListener(() -> { CustomAppGlideModule.clearCache(this); - final LiveData<Account> syncLiveData = mainViewModel.getCurrentAccount(); + final var syncLiveData = mainViewModel.getCurrentAccount(); final Observer<Account> syncObserver = currentAccount -> { syncLiveData.removeObservers(this); - mainViewModel.synchronizeCapabilitiesAndNotes(currentAccount, new IResponseCallback<Void>() { + mainViewModel.synchronizeCapabilitiesAndNotes(currentAccount, new IResponseCallback<>() { @Override public void onSuccess(Void v) { Log.d(TAG, "Successfully synchronized capabilities and notes for " + currentAccount.getAccountName()); @@ -558,7 +558,7 @@ public class MainActivity extends LockedActivity implements NoteClickListener, A @Override public void onIconClick(NavigationItem item) { - final LiveData<String> expandedCategoryLiveData = mainViewModel.getExpandedCategory(); + final var expandedCategoryLiveData = mainViewModel.getExpandedCategory(); expandedCategoryLiveData.observe(MainActivity.this, expandedCategory -> { if (item.icon == NavigationAdapter.ICON_MULTIPLE && !item.label.equals(expandedCategory)) { mainViewModel.postExpandedCategory(item.label); @@ -671,14 +671,14 @@ public class MainActivity extends LockedActivity implements NoteClickListener, A Log.i(TAG, "Added account: " + "name:" + ssoAccount.name + ", " + ssoAccount.url + ", userId" + ssoAccount.userId); try { Log.i(TAG, "Refreshing capabilities for " + ssoAccount.name); - final Capabilities capabilities = CapabilitiesClient.getCapabilities(getApplicationContext(), ssoAccount, null, ApiProvider.getInstance()); + final var capabilities = CapabilitiesClient.getCapabilities(getApplicationContext(), ssoAccount, null, ApiProvider.getInstance()); final String displayName = CapabilitiesClient.getDisplayName(getApplicationContext(), ssoAccount, ApiProvider.getInstance()); mainViewModel.addAccount(ssoAccount.url, ssoAccount.userId, ssoAccount.name, capabilities, displayName, new IResponseCallback<Account>() { @Override public void onSuccess(Account result) { executor.submit(() -> { Log.i(TAG, capabilities.toString()); - final Account a = mainViewModel.getLocalAccountByAccountName(ssoAccount.name); + final var a = mainViewModel.getLocalAccountByAccountName(ssoAccount.name); runOnUiThread(() -> mainViewModel.postCurrentAccount(a)); }); } @@ -720,9 +720,9 @@ public class MainActivity extends LockedActivity implements NoteClickListener, A @Override public void onNoteClick(int position, View v) { - boolean hasCheckedItems = tracker.getSelection().size() > 0; + final boolean hasCheckedItems = tracker.getSelection().size() > 0; if (!hasCheckedItems) { - final Note note = (Note) adapter.getItem(position); + final var note = (Note) adapter.getItem(position); startActivity(new Intent(getApplicationContext(), EditNoteActivity.class) .putExtra(EditNoteActivity.PARAM_NOTE_ID, note.getId())); } @@ -730,7 +730,7 @@ public class MainActivity extends LockedActivity implements NoteClickListener, A @Override public void onNoteFavoriteClick(int position, View view) { - LiveData<Void> toggleLiveData = mainViewModel.toggleFavoriteAndSync(((Note) adapter.getItem(position)).getId()); + final var toggleLiveData = mainViewModel.toggleFavoriteAndSync(((Note) adapter.getItem(position)).getId()); toggleLiveData.observe(this, (next) -> toggleLiveData.removeObservers(this)); } @@ -772,8 +772,8 @@ public class MainActivity extends LockedActivity implements NoteClickListener, A @Override public void onAccountPicked(@NonNull Account account) { - for (Long noteId : tracker.getSelection()) { - final LiveData<Note> moveLiveData = mainViewModel.moveNoteToAnotherAccount(account, noteId); + for (final var noteId : tracker.getSelection()) { + final var moveLiveData = mainViewModel.moveNoteToAnotherAccount(account, noteId); moveLiveData.observe(this, (v) -> { tracker.deselect(noteId); moveLiveData.removeObservers(this); @@ -783,7 +783,7 @@ public class MainActivity extends LockedActivity implements NoteClickListener, A @Override public void onCategoryChosen(String category) { - final LiveData<Void> categoryLiveData = mainViewModel.setCategory(tracker.getSelection(), category); + final var categoryLiveData = mainViewModel.setCategory(tracker.getSelection(), category); categoryLiveData.observe(this, (next) -> categoryLiveData.removeObservers(this)); tracker.clearSelection(); } diff --git a/app/src/main/java/it/niedermann/owncloud/notes/main/MainViewModel.java b/app/src/main/java/it/niedermann/owncloud/notes/main/MainViewModel.java index 92790bc4..e7cf1669 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/main/MainViewModel.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/main/MainViewModel.java @@ -121,7 +121,7 @@ public class MainViewModel extends AndroidViewModel { BrandingUtil.saveBrandColors(getApplication(), account.getColor(), account.getTextColor()); SingleAccountHelper.setCurrentAccount(getApplication(), account.getAccountName()); - final Account currentAccount = this.currentAccount.getValue(); + final var currentAccount = this.currentAccount.getValue(); // If only ETag or colors change, we must not reset the navigation // TODO in the long term we should store the last NavigationCategory for each Account if (currentAccount == null || currentAccount.getId() != account.getId()) { @@ -161,14 +161,14 @@ public class MainViewModel extends AndroidViewModel { } case DEFAULT_CATEGORY: default: { - String category = selectedCategory.getCategory(); + final String category = selectedCategory.getCategory(); if (category == null) { postExpandedCategory(null); Log.e(TAG, "navigation selection is a " + DEFAULT_CATEGORY + ", but the contained category is null."); } else { int slashIndex = category.indexOf('/'); - String rootCategory = slashIndex < 0 ? category : category.substring(0, slashIndex); - String expandedCategory = getExpandedCategory().getValue(); + final String rootCategory = slashIndex < 0 ? category : category.substring(0, slashIndex); + final String expandedCategory = getExpandedCategory().getValue(); if (expandedCategory != null && !expandedCategory.equals(rootCategory)) { postExpandedCategory(null); } @@ -209,7 +209,7 @@ public class MainViewModel extends AndroidViewModel { @NonNull @MainThread public LiveData<List<Item>> getNotesListLiveData() { - final MutableLiveData<List<Item>> insufficientInformation = new MutableLiveData<>(); + final var insufficientInformation = new MutableLiveData<List<Item>>(); return distinctUntilChanged(switchMap(getCurrentAccount(), currentAccount -> { Log.v(TAG, "[getNotesListLiveData] - currentAccount: " + currentAccount); if (currentAccount == null) { @@ -292,7 +292,7 @@ public class MainViewModel extends AndroidViewModel { @NonNull @MainThread public LiveData<List<NavigationItem>> getNavigationCategories() { - final MutableLiveData<List<NavigationItem>> insufficientInformation = new MutableLiveData<>(); + final var insufficientInformation = new MutableLiveData<List<NavigationItem>>(); return switchMap(getCurrentAccount(), currentAccount -> { if (currentAccount == null) { return insufficientInformation; @@ -315,29 +315,29 @@ public class MainViewModel extends AndroidViewModel { } private static List<NavigationItem> fromCategoriesWithNotesCount(@NonNull Context context, @Nullable String expandedCategory, @NonNull List<CategoryWithNotesCount> fromDatabase, int count, int favoritesCount) { - final List<NavigationItem.CategoryNavigationItem> categories = convertToCategoryNavigationItem(context, fromDatabase); - final NavigationItem itemRecent = new NavigationItem(ADAPTER_KEY_RECENT, context.getString(R.string.label_all_notes), count, R.drawable.ic_access_time_grey600_24dp, RECENT); - final NavigationItem itemFavorites = new NavigationItem(ADAPTER_KEY_STARRED, context.getString(R.string.label_favorites), favoritesCount, R.drawable.ic_star_yellow_24dp, FAVORITES); + final var categories = convertToCategoryNavigationItem(context, fromDatabase); + final var itemRecent = new NavigationItem(ADAPTER_KEY_RECENT, context.getString(R.string.label_all_notes), count, R.drawable.ic_access_time_grey600_24dp, RECENT); + final var itemFavorites = new NavigationItem(ADAPTER_KEY_STARRED, context.getString(R.string.label_favorites), favoritesCount, R.drawable.ic_star_yellow_24dp, FAVORITES); - final ArrayList<NavigationItem> items = new ArrayList<>(fromDatabase.size() + 3); + final var items = new ArrayList<NavigationItem>(fromDatabase.size() + 3); items.add(itemRecent); items.add(itemFavorites); NavigationItem lastPrimaryCategory = null; NavigationItem lastSecondaryCategory = null; - for (NavigationItem item : categories) { - int slashIndex = item.label.indexOf('/'); - String currentPrimaryCategory = slashIndex < 0 ? item.label : item.label.substring(0, slashIndex); + for (final var item : categories) { + final int slashIndex = item.label.indexOf('/'); + final String currentPrimaryCategory = slashIndex < 0 ? item.label : item.label.substring(0, slashIndex); + final boolean isCategoryOpen = currentPrimaryCategory.equals(expandedCategory); String currentSecondaryCategory = null; - boolean isCategoryOpen = currentPrimaryCategory.equals(expandedCategory); if (isCategoryOpen && !currentPrimaryCategory.equals(item.label)) { - String currentCategorySuffix = item.label.substring(expandedCategory.length() + 1); - int subSlashIndex = currentCategorySuffix.indexOf('/'); + final String currentCategorySuffix = item.label.substring(expandedCategory.length() + 1); + final int subSlashIndex = currentCategorySuffix.indexOf('/'); currentSecondaryCategory = subSlashIndex < 0 ? currentCategorySuffix : currentCategorySuffix.substring(0, subSlashIndex); } boolean belongsToLastPrimaryCategory = lastPrimaryCategory != null && currentPrimaryCategory.equals(lastPrimaryCategory.label); - boolean belongsToLastSecondaryCategory = belongsToLastPrimaryCategory && lastSecondaryCategory != null && lastSecondaryCategory.label.equals(currentPrimaryCategory + "/" + currentSecondaryCategory); + final boolean belongsToLastSecondaryCategory = belongsToLastPrimaryCategory && lastSecondaryCategory != null && lastSecondaryCategory.label.equals(currentPrimaryCategory + "/" + currentSecondaryCategory); if (isCategoryOpen && !belongsToLastPrimaryCategory && currentSecondaryCategory != null) { lastPrimaryCategory = new NavigationItem("category:" + currentPrimaryCategory, currentPrimaryCategory, 0, NavigationAdapter.ICON_MULTIPLE_OPEN); @@ -401,9 +401,9 @@ public class MainViewModel extends AndroidViewModel { } if (repo.isSyncPossible()) { try { - final SingleSignOnAccount ssoAccount = AccountImporter.getSingleSignOnAccount(getApplication(), localAccount.getAccountName()); + final var ssoAccount = AccountImporter.getSingleSignOnAccount(getApplication(), localAccount.getAccountName()); try { - final Capabilities capabilities = CapabilitiesClient.getCapabilities(getApplication(), ssoAccount, localAccount.getCapabilitiesETag(), ApiProvider.getInstance()); + final var capabilities = CapabilitiesClient.getCapabilities(getApplication(), ssoAccount, localAccount.getCapabilitiesETag(), ApiProvider.getInstance()); repo.updateCapabilitiesETag(localAccount.getId(), capabilities.getETag()); repo.updateBrand(localAccount.getId(), capabilities.getColor(), capabilities.getTextColor()); localAccount.setColor(capabilities.getColor()); @@ -530,7 +530,7 @@ public class MainViewModel extends AndroidViewModel { return new MutableLiveData<>(null); } else { Log.v(TAG, "[deleteNotesAndSync] - currentAccount: " + currentAccount.getAccountName()); - for (Long id : ids) { + for (final var id : ids) { repo.deleteNoteAndSync(currentAccount, id); } return new MutableLiveData<>(null); @@ -557,7 +557,7 @@ public class MainViewModel extends AndroidViewModel { return new MutableLiveData<>(); } else { Log.v(TAG, "[getNote] - currentAccount: " + currentAccount.getAccountName()); - final MutableLiveData<List<Note>> notes = new MutableLiveData<>(); + final var notes = new MutableLiveData<List<Note>>(); executor.submit(() -> notes.postValue( ids .stream() @@ -604,9 +604,9 @@ public class MainViewModel extends AndroidViewModel { @WorkerThread public String collectNoteContents(@NonNull List<Long> noteIds) { - final StringBuilder noteContents = new StringBuilder(); - for (Long noteId : noteIds) { - final Note fullNote = repo.getNoteById(noteId); + final var noteContents = new StringBuilder(); + for (final var noteId : noteIds) { + final var fullNote = repo.getNoteById(noteId); final String tempFullNote = fullNote.getContent(); if (!TextUtils.isEmpty(tempFullNote)) { if (noteContents.length() > 0) { diff --git a/app/src/main/java/it/niedermann/owncloud/notes/main/MultiSelectedActionModeCallback.java b/app/src/main/java/it/niedermann/owncloud/notes/main/MultiSelectedActionModeCallback.java index cb51cdfc..a76b2068 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/main/MultiSelectedActionModeCallback.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/main/MultiSelectedActionModeCallback.java @@ -72,7 +72,7 @@ public class MultiSelectedActionModeCallback implements Callback { mode.getMenuInflater().inflate(R.menu.menu_list_context_multiple, menu); menu.findItem(R.id.menu_move).setVisible(canMoveNoteToAnotherAccounts); for (int i = 0; i < menu.size(); i++) { - Drawable drawable = menu.getItem(i).getIcon(); + var drawable = menu.getItem(i).getIcon(); if (drawable != null) { drawable = DrawableCompat.wrap(drawable); DrawableCompat.setTint(drawable, colorAccent); @@ -96,23 +96,23 @@ public class MultiSelectedActionModeCallback implements Callback { public boolean onActionItemClicked(ActionMode mode, MenuItem item) { int itemId = item.getItemId(); if (itemId == R.id.menu_delete) { - final List<Long> selection = new ArrayList<>(tracker.getSelection().size()); - for (Long sel : tracker.getSelection()) { + final var selection = new ArrayList<Long>(tracker.getSelection().size()); + for (final var sel : tracker.getSelection()) { selection.add(sel); } - final LiveData<List<Note>> fullNotes$ = mainViewModel.getFullNotesWithCategory(selection); + final var fullNotes$ = mainViewModel.getFullNotesWithCategory(selection); fullNotes$.observe(lifecycleOwner, (fullNotes) -> { fullNotes$.removeObservers(lifecycleOwner); tracker.clearSelection(); - final LiveData<Void> deleteLiveData = mainViewModel.deleteNotesAndSync(selection); + final var deleteLiveData = mainViewModel.deleteNotesAndSync(selection); deleteLiveData.observe(lifecycleOwner, (next) -> deleteLiveData.removeObservers(lifecycleOwner)); - String deletedSnackbarTitle = fullNotes.size() == 1 + final String deletedSnackbarTitle = fullNotes.size() == 1 ? context.getString(R.string.action_note_deleted, fullNotes.get(0).getTitle()) : context.getResources().getQuantityString(R.plurals.bulk_notes_deleted, fullNotes.size(), fullNotes.size()); BrandedSnackbar.make(view, deletedSnackbarTitle, Snackbar.LENGTH_LONG) .setAction(R.string.action_undo, (View v) -> { - for (Note deletedNote : fullNotes) { - final LiveData<Note> undoLiveData = mainViewModel.addNoteAndSync(deletedNote); + for (final var deletedNote : fullNotes) { + final var undoLiveData = mainViewModel.addNoteAndSync(deletedNote); undoLiveData.observe(lifecycleOwner, (o) -> undoLiveData.removeObservers(lifecycleOwner)); } String restoreSnackbarTitle = fullNotes.size() == 1 @@ -125,7 +125,7 @@ public class MultiSelectedActionModeCallback implements Callback { }); return true; } else if (itemId == R.id.menu_move) { - final LiveData<Account> currentAccount$ = mainViewModel.getCurrentAccount(); + final var currentAccount$ = mainViewModel.getCurrentAccount(); currentAccount$.observe(lifecycleOwner, account -> { currentAccount$.removeObservers(lifecycleOwner); executor.submit(() -> AccountPickerDialogFragment @@ -134,15 +134,15 @@ public class MultiSelectedActionModeCallback implements Callback { }); return true; } else if (itemId == R.id.menu_share) { - final List<Long> selection = new ArrayList<>(tracker.getSelection().size()); - for (Long sel : tracker.getSelection()) { + final var selection = new ArrayList<Long>(tracker.getSelection().size()); + for (final var sel : tracker.getSelection()) { selection.add(sel); } tracker.clearSelection(); executor.submit(() -> { if (selection.size() == 1) { - final Note note = mainViewModel.getFullNote(selection.get(0)); + final var note = mainViewModel.getFullNote(selection.get(0)); ShareUtil.openShareDialog(context, note.getTitle(), note.getContent()); } else { ShareUtil.openShareDialog(context, @@ -152,7 +152,7 @@ public class MultiSelectedActionModeCallback implements Callback { }); return true; } else if (itemId == R.id.menu_category) {// TODO detect whether all selected notes do have the same category - in this case preselect it - final LiveData<Account> accountLiveData = mainViewModel.getCurrentAccount(); + final var accountLiveData = mainViewModel.getCurrentAccount(); accountLiveData.observe(lifecycleOwner, account -> { accountLiveData.removeObservers(lifecycleOwner); CategoryDialogFragment diff --git a/app/src/main/java/it/niedermann/owncloud/notes/main/items/ItemAdapter.java b/app/src/main/java/it/niedermann/owncloud/notes/main/items/ItemAdapter.java index 5addabfb..5508beb6 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/main/items/ItemAdapter.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/main/items/ItemAdapter.java @@ -70,7 +70,7 @@ public class ItemAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> i this.gridView = gridView; this.mainColor = ContextCompat.getColor(context, R.color.defaultBrand); this.textColor = Color.WHITE; - final SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context.getApplicationContext()); + final var sp = PreferenceManager.getDefaultSharedPreferences(context.getApplicationContext()); this.fontSize = getFontSizeFromPreferences(context, sp); this.monospace = sp.getBoolean(context.getString(R.string.pref_key_font), false); setHasStableIds(true); @@ -140,7 +140,7 @@ public class ItemAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> i public void onBindViewHolder(@NonNull final RecyclerView.ViewHolder holder, int position) { boolean isSelected = false; if (tracker != null) { - Long itemId = getItemId(position); + final Long itemId = getItemId(position); if (tracker.isSelected(itemId)) { tracker.select(itemId); isSelected = true; @@ -187,12 +187,12 @@ public class ItemAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> i @IntRange(from = 0, to = 3) @Override public int getItemViewType(int position) { - Item item = getItem(position); + final var item = getItem(position); if (item == null) { throw new IllegalArgumentException("Item at position " + position + " must not be null"); } if (getItem(position).isSection()) return TYPE_SECTION; - Note note = (Note) getItem(position); + final var note = (Note) getItem(position); if (TextUtils.isEmpty(note.getExcerpt())) { if (TextUtils.isEmpty(note.getCategory())) { return TYPE_NOTE_ONLY_TITLE; diff --git a/app/src/main/java/it/niedermann/owncloud/notes/main/items/NoteViewHolder.java b/app/src/main/java/it/niedermann/owncloud/notes/main/items/NoteViewHolder.java index 131609fa..609d1aef 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/main/items/NoteViewHolder.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/main/items/NoteViewHolder.java @@ -117,6 +117,7 @@ public abstract class NoteViewHolder extends RecyclerView.ViewHolder { // The Pattern.quote method will add \Q to the very beginning of the string and \E to the end of the string // It implies that the string between \Q and \E is a literal string and thus the reserved keyword in such string will be ignored. // See https://stackoverflow.com/questions/15409296/what-is-the-use-of-pattern-quote-method + //noinspection ConstantConditions final Pattern pattern = Pattern.compile("(" + Pattern.quote(searchQuery.toString()) + ")", Pattern.CASE_INSENSITIVE); SpannableString spannableString = new SpannableString(content); Matcher matcher = pattern.matcher(spannableString); diff --git a/app/src/main/java/it/niedermann/owncloud/notes/main/items/grid/GridItemDecoration.java b/app/src/main/java/it/niedermann/owncloud/notes/main/items/grid/GridItemDecoration.java index 01743638..1f502020 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/main/items/grid/GridItemDecoration.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/main/items/grid/GridItemDecoration.java @@ -33,7 +33,7 @@ public class GridItemDecoration extends SectionItemDecoration { super.getItemOffsets(outRect, view, parent, state); final int position = parent.getChildAdapterPosition(view); if (position >= 0) { - final StaggeredGridLayoutManager.LayoutParams lp = (StaggeredGridLayoutManager.LayoutParams) view.getLayoutParams(); + final var lp = (StaggeredGridLayoutManager.LayoutParams) view.getLayoutParams(); if (adapter.getItemViewType(position) == ItemAdapter.TYPE_SECTION) { lp.setFullSpan(true); diff --git a/app/src/main/java/it/niedermann/owncloud/notes/main/items/list/NoteViewHolderWithExcerpt.java b/app/src/main/java/it/niedermann/owncloud/notes/main/items/list/NoteViewHolderWithExcerpt.java index 8d1cfe07..c171a236 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/main/items/list/NoteViewHolderWithExcerpt.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/main/items/list/NoteViewHolderWithExcerpt.java @@ -30,7 +30,7 @@ public class NoteViewHolderWithExcerpt extends NoteViewHolder { public void bind(boolean isSelected, @NonNull Note note, boolean showCategory, int mainColor, int textColor, @Nullable CharSequence searchQuery) { super.bind(isSelected, note, showCategory, mainColor, textColor, searchQuery); - @NonNull final Context context = itemView.getContext(); + @NonNull final var context = itemView.getContext(); binding.noteSwipeable.setAlpha(DBStatus.LOCAL_DELETED.equals(note.getStatus()) ? 0.5f : 1.0f); bindCategory(context, binding.noteCategory, showCategory, note.getCategory(), mainColor); bindStatus(binding.noteStatus, note.getStatus(), mainColor); diff --git a/app/src/main/java/it/niedermann/owncloud/notes/main/items/list/NotesListViewItemTouchHelper.java b/app/src/main/java/it/niedermann/owncloud/notes/main/items/list/NotesListViewItemTouchHelper.java index 5730aecf..03f64670 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/main/items/list/NotesListViewItemTouchHelper.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/main/items/list/NotesListViewItemTouchHelper.java @@ -72,17 +72,17 @@ public class NotesListViewItemTouchHelper extends ItemTouchHelper { switch (direction) { case ItemTouchHelper.LEFT: viewHolder.setIsRecyclable(false); - final Note dbNoteWithoutContent = (Note) adapter.getItem(viewHolder.getLayoutPosition()); - final LiveData<Note> dbNoteLiveData = mainViewModel.getFullNote$(dbNoteWithoutContent.getId()); + final var dbNoteWithoutContent = (Note) adapter.getItem(viewHolder.getLayoutPosition()); + final var dbNoteLiveData = mainViewModel.getFullNote$(dbNoteWithoutContent.getId()); dbNoteLiveData.observe(lifecycleOwner, (dbNote) -> { dbNoteLiveData.removeObservers(lifecycleOwner); tracker.deselect(dbNote.getId()); - final LiveData<Void> deleteLiveData = mainViewModel.deleteNoteAndSync(dbNote.getId()); + final var deleteLiveData = mainViewModel.deleteNoteAndSync(dbNote.getId()); deleteLiveData.observe(lifecycleOwner, (next) -> deleteLiveData.removeObservers(lifecycleOwner)); Log.v(TAG, "Item deleted through swipe ----------------------------------------------"); BrandedSnackbar.make(view, context.getString(R.string.action_note_deleted, dbNote.getTitle()), UNDO_DURATION) .setAction(R.string.action_undo, (View v) -> { - final LiveData<Note> undoLiveData = mainViewModel.addNoteAndSync(dbNote); + final var undoLiveData = mainViewModel.addNoteAndSync(dbNote); undoLiveData.observe(lifecycleOwner, (o) -> undoLiveData.removeObservers(lifecycleOwner)); BrandedSnackbar.make(view, context.getString(R.string.action_note_restored, dbNote.getTitle()), Snackbar.LENGTH_SHORT) .show(); @@ -92,8 +92,8 @@ public class NotesListViewItemTouchHelper extends ItemTouchHelper { break; case ItemTouchHelper.RIGHT: viewHolder.setIsRecyclable(false); - final Note adapterNote = (Note) adapter.getItem(viewHolder.getLayoutPosition()); - final LiveData<Void> toggleLiveData = mainViewModel.toggleFavoriteAndSync(adapterNote.getId()); + final var adapterNote = (Note) adapter.getItem(viewHolder.getLayoutPosition()); + final var toggleLiveData = mainViewModel.toggleFavoriteAndSync(adapterNote.getId()); toggleLiveData.observe(lifecycleOwner, (next) -> toggleLiveData.removeObservers(lifecycleOwner)); break; default: @@ -103,7 +103,7 @@ public class NotesListViewItemTouchHelper extends ItemTouchHelper { @Override public void onChildDraw(@NonNull Canvas c, @NonNull RecyclerView recyclerView, @NonNull RecyclerView.ViewHolder viewHolder, float dX, float dY, int actionState, boolean isCurrentlyActive) { - final NoteViewHolder noteViewHolder = (NoteViewHolder) viewHolder; + final var noteViewHolder = (NoteViewHolder) viewHolder; // show swipe icon on the side noteViewHolder.showSwipe(dX > 0); // move only swipeable part of item (not leave-behind) diff --git a/app/src/main/java/it/niedermann/owncloud/notes/main/items/selection/ItemIdKeyProvider.java b/app/src/main/java/it/niedermann/owncloud/notes/main/items/selection/ItemIdKeyProvider.java index bbed62f4..03fda020 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/main/items/selection/ItemIdKeyProvider.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/main/items/selection/ItemIdKeyProvider.java @@ -18,7 +18,7 @@ public class ItemIdKeyProvider extends ItemKeyProvider<Long> { @Nullable @Override public Long getKey(int position) { - final RecyclerView.Adapter<?> adapter = recyclerView.getAdapter(); + final var adapter = recyclerView.getAdapter(); if (adapter == null) { throw new IllegalStateException("RecyclerView adapter is not set!"); } @@ -27,7 +27,7 @@ public class ItemIdKeyProvider extends ItemKeyProvider<Long> { @Override public int getPosition(@NonNull Long key) { - final RecyclerView.ViewHolder viewHolder = recyclerView.findViewHolderForItemId(key); + final var viewHolder = recyclerView.findViewHolderForItemId(key); return viewHolder == null ? NO_POSITION : viewHolder.getLayoutPosition(); } }
\ No newline at end of file diff --git a/app/src/main/java/it/niedermann/owncloud/notes/main/items/selection/ItemLookup.java b/app/src/main/java/it/niedermann/owncloud/notes/main/items/selection/ItemLookup.java index 05537db1..e3ad40dd 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/main/items/selection/ItemLookup.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/main/items/selection/ItemLookup.java @@ -22,7 +22,7 @@ public class ItemLookup extends ItemDetailsLookup<Long> { @Nullable @Override public ItemDetails<Long> getItemDetails(@NonNull MotionEvent e) { - final View view = recyclerView.findChildViewUnder(e.getX(), e.getY()); + final var view = recyclerView.findChildViewUnder(e.getX(), e.getY()); if (view != null) { final RecyclerView.ViewHolder viewHolder = recyclerView.getChildViewHolder(view); if (viewHolder instanceof NoteViewHolder) { diff --git a/app/src/main/java/it/niedermann/owncloud/notes/main/items/selection/ItemSelectionTracker.java b/app/src/main/java/it/niedermann/owncloud/notes/main/items/selection/ItemSelectionTracker.java index c1a8d3a0..4031c47e 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/main/items/selection/ItemSelectionTracker.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/main/items/selection/ItemSelectionTracker.java @@ -22,7 +22,7 @@ public class ItemSelectionTracker { new ItemLookup(recyclerView), StorageStrategy.createLongStorage() ).withSelectionPredicate( - new SelectionTracker.SelectionPredicate<Long>() { + new SelectionTracker.SelectionPredicate<>() { @Override public boolean canSetStateForKey(@NonNull Long key, boolean nextState) { return true; diff --git a/app/src/main/java/it/niedermann/owncloud/notes/main/menu/MenuAdapter.java b/app/src/main/java/it/niedermann/owncloud/notes/main/menu/MenuAdapter.java index 24c1a44e..8112f7ec 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/main/menu/MenuAdapter.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/main/menu/MenuAdapter.java @@ -84,9 +84,9 @@ public class MenuAdapter extends RecyclerView.Adapter<MenuViewHolder> { } private static Intent generateTrashbinAppIntent(@NonNull Context context, @NonNull Account account, boolean prod) throws PackageManager.NameNotFoundException { - final PackageManager packageManager = context.getPackageManager(); + final var packageManager = context.getPackageManager(); final String packageName = prod ? Constants.PACKAGE_NAME_PROD : Constants.PACKAGE_NAME_DEV; - final Intent intent = new Intent(); + final var intent = new Intent(); intent.setClassName(packageName, "com.owncloud.android.ui.trashbin.TrashbinActivity"); if (packageManager.resolveActivity(intent, 0) != null) { return intent diff --git a/app/src/main/java/it/niedermann/owncloud/notes/main/navigation/NavigationAdapter.java b/app/src/main/java/it/niedermann/owncloud/notes/main/navigation/NavigationAdapter.java index 4e170901..78ac616d 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/main/navigation/NavigationAdapter.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/main/navigation/NavigationAdapter.java @@ -74,7 +74,7 @@ public class NavigationAdapter extends RecyclerView.Adapter<NavigationViewHolder } public void setItems(@NonNull List<NavigationItem> items) { - for (NavigationItem item : items) { + for (final var item : items) { if (TextUtils.isEmpty(item.label)) { item.id = MainActivity.ADAPTER_KEY_UNCATEGORIZED; item.label = context.getString(R.string.action_uncategorized); diff --git a/app/src/main/java/it/niedermann/owncloud/notes/main/navigation/NavigationItem.java b/app/src/main/java/it/niedermann/owncloud/notes/main/navigation/NavigationItem.java index 25ea4abb..e291d1db 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/main/navigation/NavigationItem.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/main/navigation/NavigationItem.java @@ -75,7 +75,7 @@ public class NavigationItem { if (this == o) return true; if (!(o instanceof NavigationItem)) return false; - NavigationItem that = (NavigationItem) o; + final var that = (NavigationItem) o; if (icon != that.icon) return false; if (!id.equals(that.id)) return false; diff --git a/app/src/main/java/it/niedermann/owncloud/notes/main/navigation/NavigationViewHolder.java b/app/src/main/java/it/niedermann/owncloud/notes/main/navigation/NavigationViewHolder.java index eaf40dbc..3cd2a205 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/main/navigation/NavigationViewHolder.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/main/navigation/NavigationViewHolder.java @@ -32,7 +32,7 @@ class NavigationViewHolder extends RecyclerView.ViewHolder { NavigationViewHolder(@NonNull View itemView, @NonNull final NavigationClickListener navigationClickListener) { super(itemView); view = itemView; - ItemNavigationBinding binding = ItemNavigationBinding.bind(view); + final var binding = ItemNavigationBinding.bind(view); this.name = binding.navigationItemLabel; this.count = binding.navigationItemCount; this.icon = binding.navigationItemIcon; @@ -42,7 +42,7 @@ class NavigationViewHolder extends RecyclerView.ViewHolder { public void bind(@NonNull NavigationItem item, @ColorInt int mainColor, String selectedItem) { currentItem = item; - boolean isSelected = item.id.equals(selectedItem); + final boolean isSelected = item.id.equals(selectedItem); name.setText(NoteUtil.extendCategory(item.label)); count.setVisibility(item.count == null ? View.GONE : View.VISIBLE); count.setText(String.valueOf(item.count)); @@ -52,7 +52,7 @@ class NavigationViewHolder extends RecyclerView.ViewHolder { } else { icon.setVisibility(View.GONE); } - int textColor = isSelected ? mainColor : view.getResources().getColor(R.color.fg_default); + final int textColor = isSelected ? mainColor : view.getResources().getColor(R.color.fg_default); name.setTextColor(textColor); count.setTextColor(textColor); diff --git a/app/src/main/java/it/niedermann/owncloud/notes/main/slots/SlotterUtil.java b/app/src/main/java/it/niedermann/owncloud/notes/main/slots/SlotterUtil.java index 206ee9ca..d97b65a9 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/main/slots/SlotterUtil.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/main/slots/SlotterUtil.java @@ -22,8 +22,8 @@ public class SlotterUtil { @NonNull public static List<Item> fillListByCategory(@NonNull List<Note> noteList, @Nullable String currentCategory) { - List<Item> itemList = new ArrayList<>(); - for (Note note : noteList) { + final var itemList = new ArrayList<Item>(); + for (final var note : noteList) { if (currentCategory != null && !currentCategory.equals(note.getCategory())) { itemList.add(new SectionItem(NoteUtil.extendCategory(note.getCategory()))); } @@ -36,11 +36,11 @@ public class SlotterUtil { @NonNull public static List<Item> fillListByTime(@NonNull Context context, @NonNull List<Note> noteList) { - List<Item> itemList = new ArrayList<>(); - Timeslotter timeslotter = new Timeslotter(context); + final var itemList = new ArrayList<Item>(); + final var timeslotter = new Timeslotter(context); String lastTimeslot = null; for (int i = 0; i < noteList.size(); i++) { - Note currentNote = noteList.get(i); + final var currentNote = noteList.get(i); String timeslot = timeslotter.getTimeslot(currentNote); if (i > 0 && !timeslot.equals(lastTimeslot)) { itemList.add(new SectionItem(timeslot)); @@ -54,10 +54,10 @@ public class SlotterUtil { @NonNull public static List<Item> fillListByInitials(@NonNull Context context, @NonNull List<Note> noteList) { - List<Item> itemList = new ArrayList<>(); + final var itemList = new ArrayList<Item>(); String lastInitials = null; for (int i = 0; i < noteList.size(); i++) { - Note currentNote = noteList.get(i); + final var currentNote = noteList.get(i); String initials = currentNote.getTitle().substring(0, 1).toUpperCase(); if (!initials.matches("[A-Z\\u00C0-\\u00DF]")) { initials = initials.matches("[\\u0250-\\uFFFF]") ? context.getString(R.string.simple_other) : "#"; diff --git a/app/src/main/java/it/niedermann/owncloud/notes/main/slots/Timeslotter.java b/app/src/main/java/it/niedermann/owncloud/notes/main/slots/Timeslotter.java index 988311bc..bc271dac 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/main/slots/Timeslotter.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/main/slots/Timeslotter.java @@ -37,8 +37,8 @@ public class Timeslotter { if (note.getFavorite()) { return ""; } - Calendar modified = note.getModified(); - for (Timeslot timeslot : timeslots) { + final var modified = note.getModified(); + for (final var timeslot : timeslots) { if (!modified.before(timeslot.getTime())) { return timeslot.getLabel(); } diff --git a/app/src/main/java/it/niedermann/owncloud/notes/manageaccounts/ManageAccountAdapter.java b/app/src/main/java/it/niedermann/owncloud/notes/manageaccounts/ManageAccountAdapter.java index 25155c9a..19adee12 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/manageaccounts/ManageAccountAdapter.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/manageaccounts/ManageAccountAdapter.java @@ -53,7 +53,7 @@ public class ManageAccountAdapter extends RecyclerView.Adapter<ManageAccountView @Override public void onBindViewHolder(@NonNull ManageAccountViewHolder holder, int position) { - final Account localAccount = localAccounts.get(position); + final var localAccount = localAccounts.get(position); holder.bind(localAccount, (localAccountClicked) -> { setCurrentLocalAccount(localAccountClicked); onAccountClick.accept(localAccountClicked); diff --git a/app/src/main/java/it/niedermann/owncloud/notes/manageaccounts/ManageAccountViewHolder.java b/app/src/main/java/it/niedermann/owncloud/notes/manageaccounts/ManageAccountViewHolder.java index 2c29ce99..3b61851a 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/manageaccounts/ManageAccountViewHolder.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/manageaccounts/ManageAccountViewHolder.java @@ -53,11 +53,11 @@ public class ManageAccountViewHolder extends RecyclerView.ViewHolder { itemView.setOnClickListener((v) -> onAccountClick.accept(localAccount)); binding.accountContextMenu.setVisibility(VISIBLE); binding.accountContextMenu.setOnClickListener((v) -> { - final PopupMenu popup = new PopupMenu(itemView.getContext(), v); + final var popup = new PopupMenu(itemView.getContext(), v); popup.inflate(R.menu.menu_account); - final ApiVersion preferredApiVersion = getPreferredApiVersion(localAccount.getApiVersion()); + final var preferredApiVersion = getPreferredApiVersion(localAccount.getApiVersion()); if (preferredApiVersion != null && !preferredApiVersion.supportsSettings()) { - final Menu menu = popup.getMenu(); + final var menu = popup.getMenu(); Stream.of( R.id.notes_path, R.id.file_suffix diff --git a/app/src/main/java/it/niedermann/owncloud/notes/manageaccounts/ManageAccountsActivity.java b/app/src/main/java/it/niedermann/owncloud/notes/manageaccounts/ManageAccountsActivity.java index d1b0e603..b6341f61 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/manageaccounts/ManageAccountsActivity.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/manageaccounts/ManageAccountsActivity.java @@ -114,21 +114,21 @@ public class ManageAccountsActivity extends LockedActivity { } private void onChangeNotesPath(@NonNull Account localAccount) { - final NotesRepository repository = NotesRepository.getInstance(getApplicationContext()); - final EditText editText = new EditText(this); - final ViewGroup wrapper = createDialogViewWrapper(); - final AlertDialog dialog = new BrandedAlertDialogBuilder(this) + final var repository = NotesRepository.getInstance(getApplicationContext()); + final var editText = new EditText(this); + final var wrapper = createDialogViewWrapper(); + final var dialog = new BrandedAlertDialogBuilder(this) .setTitle(R.string.settings_notes_path) .setMessage(R.string.settings_notes_path_description) .setView(wrapper) .setNeutralButton(android.R.string.cancel, null) .setPositiveButton(R.string.action_edit_save, (v, d) -> new Thread(() -> { try { - final Call<NotesSettings> putSettingsCall = repository.putServerSettings(AccountImporter.getSingleSignOnAccount(this, localAccount.getAccountName()), new NotesSettings(editText.getText().toString(), null), getPreferredApiVersion(localAccount.getApiVersion())); - putSettingsCall.enqueue(new Callback<NotesSettings>() { + final var putSettingsCall = repository.putServerSettings(AccountImporter.getSingleSignOnAccount(this, localAccount.getAccountName()), new NotesSettings(editText.getText().toString(), null), getPreferredApiVersion(localAccount.getApiVersion())); + putSettingsCall.enqueue(new Callback<>() { @Override public void onResponse(@NonNull Call<NotesSettings> call, @NonNull Response<NotesSettings> response) { - final NotesSettings body = response.body(); + final var body = response.body(); if (response.isSuccessful() && body != null) { runOnUiThread(() -> Toast.makeText(ManageAccountsActivity.this, getString(R.string.settings_notes_path_success, body.getNotesPath()), Toast.LENGTH_LONG).show()); } else { @@ -148,14 +148,14 @@ public class ManageAccountsActivity extends LockedActivity { .show(); try { repository.getServerSettings(AccountImporter.getSingleSignOnAccount(this, localAccount.getAccountName()), getPreferredApiVersion(localAccount.getApiVersion())) - .enqueue(new Callback<NotesSettings>() { + .enqueue(new Callback<>() { @Override public void onResponse(@NonNull Call<NotesSettings> call, @NonNull Response<NotesSettings> response) { runOnUiThread(() -> { - final NotesSettings body = response.body(); + final var body = response.body(); if (response.isSuccessful() && body != null) { wrapper.removeAllViews(); - final EditText editText = new EditText(ManageAccountsActivity.this); + final var editText = new EditText(ManageAccountsActivity.this); editText.setText(body.getNotesPath()); wrapper.addView(editText); } else { @@ -180,13 +180,13 @@ public class ManageAccountsActivity extends LockedActivity { } private void onChangeFileSuffix(@NonNull Account localAccount) { - final NotesRepository repository = NotesRepository.getInstance(getApplicationContext()); - final Spinner spinner = new Spinner(this); - final ViewGroup wrapper = createDialogViewWrapper(); - final ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.settings_file_suffixes, android.R.layout.simple_spinner_item); + final var repository = NotesRepository.getInstance(getApplicationContext()); + final var spinner = new Spinner(this); + final var wrapper = createDialogViewWrapper(); + final var adapter = ArrayAdapter.createFromResource(this, R.array.settings_file_suffixes, android.R.layout.simple_spinner_item); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinner.setAdapter(adapter); - final AlertDialog dialog = new BrandedAlertDialogBuilder(this) + final var dialog = new BrandedAlertDialogBuilder(this) .setTitle(R.string.settings_file_suffix) .setMessage(R.string.settings_file_suffix_description) .setView(wrapper) @@ -194,10 +194,10 @@ public class ManageAccountsActivity extends LockedActivity { .setPositiveButton(R.string.action_edit_save, (v, d) -> new Thread(() -> { try { final Call<NotesSettings> putSettingsCall = repository.putServerSettings(AccountImporter.getSingleSignOnAccount(this, localAccount.getAccountName()), new NotesSettings(null, spinner.getSelectedItem().toString()), getPreferredApiVersion(localAccount.getApiVersion())); - putSettingsCall.enqueue(new Callback<NotesSettings>() { + putSettingsCall.enqueue(new Callback<>() { @Override public void onResponse(@NonNull Call<NotesSettings> call, @NonNull Response<NotesSettings> response) { - final NotesSettings body = response.body(); + final var body = response.body(); if (response.isSuccessful() && body != null) { runOnUiThread(() -> Toast.makeText(ManageAccountsActivity.this, getString(R.string.settings_file_suffix_success, body.getNotesPath()), Toast.LENGTH_LONG).show()); } else { @@ -217,7 +217,7 @@ public class ManageAccountsActivity extends LockedActivity { .show(); try { repository.getServerSettings(AccountImporter.getSingleSignOnAccount(this, localAccount.getAccountName()), getPreferredApiVersion(localAccount.getApiVersion())) - .enqueue(new Callback<NotesSettings>() { + .enqueue(new Callback<>() { @Override public void onResponse(@NonNull Call<NotesSettings> call, @NonNull Response<NotesSettings> response) { final NotesSettings body = response.body(); @@ -254,9 +254,9 @@ public class ManageAccountsActivity extends LockedActivity { @NonNull private ViewGroup createDialogViewWrapper() { - final ProgressBar progressBar = new ProgressBar(this, null, android.R.attr.progressBarStyleHorizontal); + final var progressBar = new ProgressBar(this, null, android.R.attr.progressBarStyleHorizontal); progressBar.setIndeterminate(true); - final FrameLayout wrapper = new FrameLayout(this); + final var wrapper = new FrameLayout(this); final int paddingVertical = getResources().getDimensionPixelSize(R.dimen.spacer_1x); final int paddingHorizontal = SDK_INT >= LOLLIPOP_MR1 ? getDimensionFromAttribute(android.R.attr.dialogPreferredPadding) @@ -268,7 +268,7 @@ public class ManageAccountsActivity extends LockedActivity { @Px private int getDimensionFromAttribute(@SuppressWarnings("SameParameterValue") @AttrRes int attr) { - final TypedValue typedValue = new TypedValue(); + final var typedValue = new TypedValue(); if (getTheme().resolveAttribute(attr, typedValue, true)) return TypedValue.complexToDimensionPixelSize(typedValue.data, getResources().getDisplayMetrics()); else { diff --git a/app/src/main/java/it/niedermann/owncloud/notes/manageaccounts/ManageAccountsViewModel.java b/app/src/main/java/it/niedermann/owncloud/notes/manageaccounts/ManageAccountsViewModel.java index ce88f2c2..b625b076 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/manageaccounts/ManageAccountsViewModel.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/manageaccounts/ManageAccountsViewModel.java @@ -48,7 +48,7 @@ public class ManageAccountsViewModel extends AndroidViewModel { public void deleteAccount(@NonNull Account account, @NonNull Context context) { executor.submit(() -> { - final List<Account> accounts = repo.getAccounts(); + final var accounts = repo.getAccounts(); for (int i = 0; i < accounts.size(); i++) { if (accounts.get(i).getId() == account.getId()) { if (i > 0) { diff --git a/app/src/main/java/it/niedermann/owncloud/notes/persistence/ApiProvider.java b/app/src/main/java/it/niedermann/owncloud/notes/persistence/ApiProvider.java index 6b851ddb..0d06def4 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/persistence/ApiProvider.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/persistence/ApiProvider.java @@ -60,7 +60,7 @@ public class ApiProvider { if (API_CACHE_OCS.containsKey(ssoAccount.name)) { return API_CACHE_OCS.get(ssoAccount.name); } - final OcsAPI ocsAPI = new NextcloudRetrofitApiBuilder(getNextcloudAPI(context, ssoAccount), API_ENDPOINT_OCS).create(OcsAPI.class); + final var ocsAPI = new NextcloudRetrofitApiBuilder(getNextcloudAPI(context, ssoAccount), API_ENDPOINT_OCS).create(OcsAPI.class); API_CACHE_OCS.put(ssoAccount.name, ocsAPI); return ocsAPI; } @@ -72,7 +72,7 @@ public class ApiProvider { if (API_CACHE_NOTES.containsKey(ssoAccount.name)) { return API_CACHE_NOTES.get(ssoAccount.name); } - final NotesAPI notesAPI = new NotesAPI(getNextcloudAPI(context, ssoAccount), preferredApiVersion); + final var notesAPI = new NotesAPI(getNextcloudAPI(context, ssoAccount), preferredApiVersion); API_CACHE_NOTES.put(ssoAccount.name, notesAPI); return notesAPI; } @@ -82,12 +82,12 @@ public class ApiProvider { return API_CACHE.get(ssoAccount.name); } else { Log.v(TAG, "NextcloudRequest account: " + ssoAccount.name); - final NextcloudAPI nextcloudAPI = new NextcloudAPI(context.getApplicationContext(), ssoAccount, + final var nextcloudAPI = new NextcloudAPI(context.getApplicationContext(), ssoAccount, new GsonBuilder() .excludeFieldsWithoutExposeAnnotation() .registerTypeHierarchyAdapter(Calendar.class, (JsonSerializer<Calendar>) (src, typeOfSrc, ctx) -> new JsonPrimitive(src.getTimeInMillis() / 1_000)) .registerTypeHierarchyAdapter(Calendar.class, (JsonDeserializer<Calendar>) (src, typeOfSrc, ctx) -> { - final Calendar calendar = Calendar.getInstance(); + final var calendar = Calendar.getInstance(); calendar.setTimeInMillis(src.getAsLong() * 1_000); return calendar; }) @@ -117,7 +117,7 @@ public class ApiProvider { public synchronized void invalidateAPICache(@NonNull SingleSignOnAccount ssoAccount) { Log.v(TAG, "Invalidating API cache for " + ssoAccount.name); if (API_CACHE.containsKey(ssoAccount.name)) { - final NextcloudAPI nextcloudAPI = API_CACHE.get(ssoAccount.name); + final var nextcloudAPI = API_CACHE.get(ssoAccount.name); if (nextcloudAPI != null) { nextcloudAPI.stop(); } @@ -131,10 +131,10 @@ public class ApiProvider { * Invalidates the whole API cache for all accounts */ public synchronized void invalidateAPICache() { - for (String key : API_CACHE.keySet()) { + for (final String key : API_CACHE.keySet()) { Log.v(TAG, "Invalidating API cache for " + key); if (API_CACHE.containsKey(key)) { - final NextcloudAPI nextcloudAPI = API_CACHE.get(key); + final var nextcloudAPI = API_CACHE.get(key); if (nextcloudAPI != null) { nextcloudAPI.stop(); } diff --git a/app/src/main/java/it/niedermann/owncloud/notes/persistence/CapabilitiesClient.java b/app/src/main/java/it/niedermann/owncloud/notes/persistence/CapabilitiesClient.java index 33e42382..bc53af45 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/persistence/CapabilitiesClient.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/persistence/CapabilitiesClient.java @@ -27,11 +27,11 @@ public class CapabilitiesClient { @WorkerThread public static Capabilities getCapabilities(@NonNull Context context, @NonNull SingleSignOnAccount ssoAccount, @Nullable String lastETag, @NonNull ApiProvider apiProvider) throws Throwable { - final OcsAPI ocsAPI = apiProvider.getOcsAPI(context, ssoAccount); + final var ocsAPI = apiProvider.getOcsAPI(context, ssoAccount); try { - final ParsedResponse<OcsResponse<Capabilities>> response = ocsAPI.getCapabilities(lastETag).blockingSingle(); - final Capabilities capabilities = response.getResponse().ocs.data; - final Map<String, String> headers = response.getHeaders(); + final var response = ocsAPI.getCapabilities(lastETag).blockingSingle(); + final var capabilities = response.getResponse().ocs.data; + final var headers = response.getHeaders(); if (headers != null) { capabilities.setETag(headers.get(HEADER_KEY_ETAG)); } else { @@ -39,7 +39,7 @@ public class CapabilitiesClient { } return capabilities; } catch (RuntimeException e) { - final Throwable cause = e.getCause(); + final var cause = e.getCause(); if (cause != null) { throw cause; } else { @@ -51,11 +51,11 @@ public class CapabilitiesClient { @WorkerThread @Nullable public static String getDisplayName(@NonNull Context context, @NonNull SingleSignOnAccount ssoAccount, @NonNull ApiProvider apiProvider) { - final OcsAPI ocsAPI = apiProvider.getOcsAPI(context, ssoAccount); + final var ocsAPI = apiProvider.getOcsAPI(context, ssoAccount); try { - final Response<OcsResponse<OcsUser>> userResponse = ocsAPI.getUser(ssoAccount.userId).execute(); + final var userResponse = ocsAPI.getUser(ssoAccount.userId).execute(); if (userResponse.isSuccessful()) { - final OcsResponse<OcsUser> ocsResponse = userResponse.body(); + final var ocsResponse = userResponse.body(); if (ocsResponse != null) { return ocsResponse.ocs.data.displayName; } else { diff --git a/app/src/main/java/it/niedermann/owncloud/notes/persistence/CapabilitiesWorker.java b/app/src/main/java/it/niedermann/owncloud/notes/persistence/CapabilitiesWorker.java index 4f8852e7..b593f86d 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/persistence/CapabilitiesWorker.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/persistence/CapabilitiesWorker.java @@ -42,12 +42,12 @@ public class CapabilitiesWorker extends Worker { @NonNull @Override public Result doWork() { - final NotesRepository repo = NotesRepository.getInstance(getApplicationContext()); - for (Account account : repo.getAccounts()) { + final var repo = NotesRepository.getInstance(getApplicationContext()); + for (final var account : repo.getAccounts()) { try { - final SingleSignOnAccount ssoAccount = AccountImporter.getSingleSignOnAccount(getApplicationContext(), account.getAccountName()); + final var ssoAccount = AccountImporter.getSingleSignOnAccount(getApplicationContext(), account.getAccountName()); Log.i(TAG, "Refreshing capabilities for " + ssoAccount.name); - final Capabilities capabilities = CapabilitiesClient.getCapabilities(getApplicationContext(), ssoAccount, account.getCapabilitiesETag(), ApiProvider.getInstance()); + final var capabilities = CapabilitiesClient.getCapabilities(getApplicationContext(), ssoAccount, account.getCapabilitiesETag(), ApiProvider.getInstance()); repo.updateCapabilitiesETag(account.getId(), capabilities.getETag()); repo.updateBrand(account.getId(), capabilities.getColor(), capabilities.getTextColor()); repo.updateApiVersion(account.getId(), capabilities.getApiVersion()); diff --git a/app/src/main/java/it/niedermann/owncloud/notes/persistence/NotesRepository.java b/app/src/main/java/it/niedermann/owncloud/notes/persistence/NotesRepository.java index 51eae0dc..59eafa05 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/persistence/NotesRepository.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/persistence/NotesRepository.java @@ -155,7 +155,7 @@ public class NotesRepository { // Registers BroadcastReceiver to track network connection changes. this.context.registerReceiver(networkReceiver, new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION)); - final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this.context); + final var prefs = PreferenceManager.getDefaultSharedPreferences(this.context); prefs.registerOnSharedPreferenceChangeListener(onSharedPreferenceChangeListener); syncOnlyOnWifi = prefs.getBoolean(syncOnlyOnWifiKey, false); @@ -167,7 +167,7 @@ public class NotesRepository { @AnyThread public void addAccount(@NonNull String url, @NonNull String username, @NonNull String accountName, @NonNull Capabilities capabilities, @Nullable String displayName, @NonNull IResponseCallback<Account> callback) { - final Account createdAccount = db.getAccountDao().getAccountById(db.getAccountDao().insert(new Account(url, username, accountName, displayName, capabilities))); + final var createdAccount = db.getAccountDao().getAccountById(db.getAccountDao().insert(new Account(url, username, accountName, displayName, capabilities))); if (createdAccount == null) { callback.onError(new Exception("Could not read created account.")); } else { @@ -377,8 +377,8 @@ public class NotesRepository { @NonNull @MainThread public LiveData<Note> addNoteAndSync(Account account, Note note) { - final Note entity = new Note(0, null, note.getModified(), note.getTitle(), note.getContent(), note.getCategory(), note.getFavorite(), note.getETag(), DBStatus.LOCAL_EDITED, account.getId(), generateNoteExcerpt(note.getContent(), note.getTitle()), 0); - final MutableLiveData<Note> ret = new MutableLiveData<>(); + final var entity = new Note(0, null, note.getModified(), note.getTitle(), note.getContent(), note.getCategory(), note.getFavorite(), note.getETag(), DBStatus.LOCAL_EDITED, account.getId(), generateNoteExcerpt(note.getContent(), note.getTitle()), 0); + final var ret = new MutableLiveData<Note>(); executor.submit(() -> ret.postValue(addNote(account.getId(), entity))); return map(ret, newNote -> { notifyWidgets(); @@ -406,7 +406,7 @@ public class NotesRepository { @MainThread public LiveData<Note> moveNoteToAnotherAccount(Account account, @NonNull Note note) { - final Note fullNote = new Note(null, note.getModified(), note.getTitle(), note.getContent(), note.getCategory(), note.getFavorite(), null); + final var fullNote = new Note(null, note.getModified(), note.getTitle(), note.getContent(), note.getCategory(), note.getFavorite(), null); deleteNoteAndSync(account, note.getId()); return map(addNoteAndSync(account, fullNote), (createdNote) -> { db.getNoteDao().updateStatus(createdNote.getId(), DBStatus.LOCAL_EDITED); @@ -518,10 +518,10 @@ public class NotesRepository { scheduleSync(account, true); if (SDK_INT >= O) { - ShortcutManager shortcutManager = context.getSystemService(ShortcutManager.class); + final var shortcutManager = context.getSystemService(ShortcutManager.class); if (shortcutManager != null) { shortcutManager.getPinnedShortcuts().forEach((shortcut) -> { - String shortcutId = id + ""; + final String shortcutId = String.valueOf(id); if (shortcut.getId().equals(shortcutId)) { Log.v(TAG, "Removing shortcut for " + shortcutId); shortcutManager.disableShortcuts(Collections.singletonList(shortcutId), context.getResources().getString(R.string.note_has_been_deleted)); @@ -549,14 +549,14 @@ public class NotesRepository { private void updateDynamicShortcuts(long accountId) { executor.submit(() -> { if (SDK_INT >= android.os.Build.VERSION_CODES.N_MR1) { - final ShortcutManager shortcutManager = this.context.getSystemService(ShortcutManager.class); + final var shortcutManager = this.context.getSystemService(ShortcutManager.class); if (shortcutManager != null) { if (!shortcutManager.isRateLimitingActive()) { - List<ShortcutInfo> newShortcuts = new ArrayList<>(); + var newShortcuts = new ArrayList<ShortcutInfo>(); - for (Note note : db.getNoteDao().getRecentNotes(accountId)) { + for (final var note : db.getNoteDao().getRecentNotes(accountId)) { if (!TextUtils.isEmpty(note.getTitle())) { - Intent intent = new Intent(this.context, EditNoteActivity.class); + final var intent = new Intent(this.context, EditNoteActivity.class); intent.putExtra(EditNoteActivity.PARAM_NOTE_ID, note.getId()); intent.setAction(ACTION_SHORTCUT); @@ -583,7 +583,7 @@ public class NotesRepository { * @param raw has to be a JSON array as a string <code>["0.2", "1.0", ...]</code> */ public void updateApiVersion(long accountId, @Nullable String raw) { - final Collection<ApiVersion> apiVersions = ApiVersionUtil.parse(raw); + final var apiVersions = ApiVersionUtil.parse(raw); if (apiVersions.size() > 0) { final int updatedRows = db.getAccountDao().updateApiVersion(accountId, ApiVersionUtil.serialize(apiVersions)); if (updatedRows == 0) { @@ -613,8 +613,8 @@ public class NotesRepository { @AnyThread public void modifyCategoryOrder(long accountId, @NonNull NavigationCategory selectedCategory, @NonNull CategorySortingMethod sortingMethod) { executor.submit(() -> { - final Context ctx = context.getApplicationContext(); - final SharedPreferences.Editor sp = PreferenceManager.getDefaultSharedPreferences(ctx).edit(); + final var ctx = context.getApplicationContext(); + final var sp = PreferenceManager.getDefaultSharedPreferences(ctx).edit(); int orderIndex = sortingMethod.getId(); switch (selectedCategory.getType()) { @@ -636,7 +636,7 @@ public class NotesRepository { if (category != null) { if (db.getCategoryOptionsDao().modifyCategoryOrder(accountId, category, sortingMethod) == 0) { // Nothing updated means we didn't have this yet - final CategoryOptions categoryOptions = new CategoryOptions(); + final var categoryOptions = new CategoryOptions(); categoryOptions.setAccountId(accountId); categoryOptions.setCategory(category); categoryOptions.setSortingMethod(sortingMethod); @@ -667,7 +667,7 @@ public class NotesRepository { @NonNull @MainThread public LiveData<CategorySortingMethod> getCategoryOrder(@NonNull NavigationCategory selectedCategory) { - final SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context); + final var sp = PreferenceManager.getDefaultSharedPreferences(context); String prefKey; switch (selectedCategory.getType()) { @@ -838,9 +838,9 @@ public class NotesRepository { Log.d(TAG, "... scheduled"); syncScheduled.put(account.getId(), true); if (callbacksPush.containsKey(account.getId()) && callbacksPush.get(account.getId()) != null) { - final List<ISyncCallback> callbacks = callbacksPush.get(account.getId()); + final var callbacks = callbacksPush.get(account.getId()); if (callbacks != null) { - for (ISyncCallback callback : callbacks) { + for (final var callback : callbacks) { callback.onScheduled(); } } else { @@ -850,9 +850,9 @@ public class NotesRepository { } else { Log.d(TAG, "... do nothing"); if (callbacksPush.containsKey(account.getId()) && callbacksPush.get(account.getId()) != null) { - final List<ISyncCallback> callbacks = callbacksPush.get(account.getId()); + final var callbacks = callbacksPush.get(account.getId()); if (callbacks != null) { - for (ISyncCallback callback : callbacks) { + for (final var callback : callbacks) { callback.onScheduled(); } } else { @@ -865,12 +865,12 @@ public class NotesRepository { public void updateNetworkStatus() { try { - final ConnectivityManager connMgr = (ConnectivityManager) this.context.getSystemService(Context.CONNECTIVITY_SERVICE); + final var connMgr = (ConnectivityManager) this.context.getSystemService(Context.CONNECTIVITY_SERVICE); if (connMgr == null) { throw new NetworkErrorException("ConnectivityManager is null"); } - final NetworkInfo activeInfo = connMgr.getActiveNetworkInfo(); + final var activeInfo = connMgr.getActiveNetworkInfo(); if (activeInfo == null) { throw new NetworkErrorException("NetworkInfo is null"); } @@ -878,7 +878,7 @@ public class NotesRepository { if (activeInfo.isConnected()) { networkConnected = true; - final NetworkInfo networkInfo = connMgr.getNetworkInfo((ConnectivityManager.TYPE_WIFI)); + final var networkInfo = connMgr.getNetworkInfo((ConnectivityManager.TYPE_WIFI)); if (networkInfo == null) { throw new NetworkErrorException("connMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI) is null"); } diff --git a/app/src/main/java/it/niedermann/owncloud/notes/persistence/NotesServerSyncTask.java b/app/src/main/java/it/niedermann/owncloud/notes/persistence/NotesServerSyncTask.java index a7df68bd..f50dd21e 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/persistence/NotesServerSyncTask.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/persistence/NotesServerSyncTask.java @@ -90,7 +90,7 @@ abstract class NotesServerSyncTask extends Thread { Log.i(TAG, "STARTING SYNCHRONIZATION"); - final SyncResultStatus status = new SyncResultStatus(); + final var status = new SyncResultStatus(); status.pushSuccessful = pushLocalChanges(); if (!onlyLocalChanges) { status.pullSuccessful = pullRemoteChanges(); @@ -112,7 +112,7 @@ abstract class NotesServerSyncTask extends Thread { Log.d(TAG, "pushLocalChanges()"); boolean success = true; - final List<Note> notes = repo.getLocalModifiedNotes(localAccount.getId()); + final var notes = repo.getLocalModifiedNotes(localAccount.getId()); for (Note note : notes) { Log.d(TAG, " Process Local Note: " + (BuildConfig.DEBUG ? note : note.getTitle())); try { @@ -122,7 +122,7 @@ abstract class NotesServerSyncTask extends Thread { Log.v(TAG, " ...create/edit"); if (note.getRemoteId() != null) { Log.v(TAG, " ...Note has remoteId → try to edit"); - final Response<Note> editResponse = notesAPI.editNote(note).execute(); + final var editResponse = notesAPI.editNote(note).execute(); if (editResponse.isSuccessful()) { remoteNote = editResponse.body(); if (remoteNote == null) { @@ -131,7 +131,7 @@ abstract class NotesServerSyncTask extends Thread { } } else if (editResponse.code() == HTTP_NOT_FOUND) { Log.v(TAG, " ...Note does no longer exist on server → recreate"); - final Response<Note> createResponse = notesAPI.createNote(note).execute(); + final var createResponse = notesAPI.createNote(note).execute(); if (createResponse.isSuccessful()) { remoteNote = createResponse.body(); if (remoteNote == null) { @@ -146,7 +146,7 @@ abstract class NotesServerSyncTask extends Thread { } } else { Log.v(TAG, " ...Note does not have a remoteId yet → create"); - final Response<Note> createResponse = notesAPI.createNote(note).execute(); + final var createResponse = notesAPI.createNote(note).execute(); if (createResponse.isSuccessful()) { remoteNote = createResponse.body(); if (remoteNote == null) { @@ -166,7 +166,7 @@ abstract class NotesServerSyncTask extends Thread { Log.v(TAG, " ...delete (only local, since it has never been synchronized)"); } else { Log.v(TAG, " ...delete (from server and local)"); - final Response<Void> deleteResponse = notesAPI.deleteNote(note.getRemoteId()).execute(); + final var deleteResponse = notesAPI.deleteNote(note.getRemoteId()).execute(); if (!deleteResponse.isSuccessful()) { if (deleteResponse.code() == HTTP_NOT_FOUND) { Log.v(TAG, " ...delete (note has already been deleted remotely)"); @@ -205,10 +205,10 @@ abstract class NotesServerSyncTask extends Thread { private boolean pullRemoteChanges() { Log.d(TAG, "pullRemoteChanges() for account " + localAccount.getAccountName()); try { - final Map<Long, Long> idMap = repo.getIdMap(localAccount.getId()); + final var idMap = repo.getIdMap(localAccount.getId()); // FIXME re-reading the localAccount is only a workaround for a not-up-to-date eTag in localAccount. - final Account accountFromDatabase = repo.getAccountById(localAccount.getId()); + final var accountFromDatabase = repo.getAccountById(localAccount.getId()); if (accountFromDatabase == null) { callbacks.remove(localAccount.getId()); return true; @@ -216,18 +216,18 @@ abstract class NotesServerSyncTask extends Thread { localAccount.setModified(accountFromDatabase.getModified()); localAccount.setETag(accountFromDatabase.getETag()); - final ParsedResponse<List<Note>> fetchResponse = notesAPI.getNotes(localAccount.getModified(), localAccount.getETag()).blockingSingle(); - final List<Note> remoteNotes = fetchResponse.getResponse(); - final Set<Long> remoteIDs = new HashSet<>(); + final var fetchResponse = notesAPI.getNotes(localAccount.getModified(), localAccount.getETag()).blockingSingle(); + final var remoteNotes = fetchResponse.getResponse(); + final var remoteIDs = new HashSet<Long>(); // pull remote changes: update or create each remote note - for (Note remoteNote : remoteNotes) { + for (final var remoteNote : remoteNotes) { Log.v(TAG, " Process Remote Note: " + (BuildConfig.DEBUG ? remoteNote : remoteNote.getTitle())); remoteIDs.add(remoteNote.getRemoteId()); if (remoteNote.getModified() == null) { Log.v(TAG, " ... unchanged"); } else if (idMap.containsKey(remoteNote.getRemoteId())) { Log.v(TAG, " ... found → Update"); - Long localId = idMap.get(remoteNote.getRemoteId()); + final Long localId = idMap.get(remoteNote.getRemoteId()); if (localId != null) { repo.updateIfNotModifiedLocallyAndAnyRemoteColumnHasChanged( localId, remoteNote.getModified().getTimeInMillis(), remoteNote.getTitle(), remoteNote.getFavorite(), remoteNote.getCategory(), remoteNote.getETag(), remoteNote.getContent(), generateNoteExcerpt(remoteNote.getContent(), remoteNote.getTitle())); @@ -241,7 +241,7 @@ abstract class NotesServerSyncTask extends Thread { } Log.d(TAG, " Remove remotely deleted Notes (only those without local changes)"); // remove remotely deleted notes (only those without local changes) - for (Map.Entry<Long, Long> entry : idMap.entrySet()) { + for (final var entry : idMap.entrySet()) { if (!remoteIDs.contains(entry.getKey())) { Log.v(TAG, " ... remove " + entry.getValue()); repo.deleteByNoteId(entry.getValue(), DBStatus.VOID); @@ -251,7 +251,7 @@ abstract class NotesServerSyncTask extends Thread { // update ETag and Last-Modified in order to reduce size of next response localAccount.setETag(fetchResponse.getHeaders().get(HEADER_KEY_ETAG)); - final Calendar lastModified = Calendar.getInstance(); + final var lastModified = Calendar.getInstance(); lastModified.setTimeInMillis(0); final String lastModifiedHeader = fetchResponse.getHeaders().get(HEADER_KEY_LAST_MODIFIED); if (lastModifiedHeader != null) diff --git a/app/src/main/java/it/niedermann/owncloud/notes/persistence/SyncWorker.java b/app/src/main/java/it/niedermann/owncloud/notes/persistence/SyncWorker.java index adb7eff0..ab2a90f6 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/persistence/SyncWorker.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/persistence/SyncWorker.java @@ -33,8 +33,8 @@ public class SyncWorker extends Worker { @NonNull @Override public Result doWork() { - NotesRepository repo = NotesRepository.getInstance(getApplicationContext()); - for (Account account : repo.getAccounts()) { + final var repo = NotesRepository.getInstance(getApplicationContext()); + for (final var account : repo.getAccounts()) { Log.v(TAG, "Starting background synchronization for " + account.getAccountName()); repo.addCallbackPull(account, () -> Log.v(TAG, "Finished background synchronization for " + account.getAccountName())); repo.scheduleSync(account, false); @@ -53,7 +53,7 @@ public class SyncWorker extends Worker { public static void update(@NonNull Context context, boolean backgroundSync) { deregister(context); if (backgroundSync) { - PeriodicWorkRequest work = new PeriodicWorkRequest.Builder(SyncWorker.class, 15, TimeUnit.MINUTES) + final var work = new PeriodicWorkRequest.Builder(SyncWorker.class, 15, TimeUnit.MINUTES) .setConstraints(constraints).build(); WorkManager.getInstance(context.getApplicationContext()).enqueueUniquePeriodicWork(WORKER_TAG, ExistingPeriodicWorkPolicy.REPLACE, work); Log.i(TAG, "Registering worker running each " + 15 + " " + TimeUnit.MINUTES); diff --git a/app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_10_11.java b/app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_10_11.java index 5a739b7d..84ef2105 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_10_11.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_10_11.java @@ -26,14 +26,14 @@ public class Migration_10_11 extends Migration { */ @Override public void migrate(@NonNull SupportSQLiteDatabase database) { - SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context); - SharedPreferences.Editor editor = sharedPreferences.edit(); - Map<String, ?> prefs = sharedPreferences.getAll(); - for (Map.Entry<String, ?> pref : prefs.entrySet()) { - String key = pref.getKey(); + final var sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context); + final var editor = sharedPreferences.edit(); + final var prefs = sharedPreferences.getAll(); + for (final var pref : prefs.entrySet()) { + final String key = pref.getKey(); final String DARK_THEME_KEY = "NLW_darkTheme"; if ("darkTheme".equals(key) || key.startsWith(DARK_THEME_KEY) || key.startsWith("SNW_darkTheme")) { - Boolean darkTheme = (Boolean) pref.getValue(); + final Boolean darkTheme = (Boolean) pref.getValue(); editor.putString(pref.getKey(), darkTheme ? DarkModeSetting.DARK.name() : DarkModeSetting.LIGHT.name()); } } diff --git a/app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_13_14.java b/app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_13_14.java index 3d0147fb..805204f6 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_13_14.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_13_14.java @@ -47,10 +47,10 @@ public class Migration_13_14 extends Migration { final String SP_WIDGET_KEY = "single_note_widget"; final String SP_ACCOUNT_ID_KEY = "SNW_accountId"; final String SP_DARK_THEME_KEY = "SNW_darkTheme"; - SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context); - SharedPreferences.Editor editor = sharedPreferences.edit(); - Map<String, ?> prefs = sharedPreferences.getAll(); - for (Map.Entry<String, ?> pref : prefs.entrySet()) { + final var sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context); + final var editor = sharedPreferences.edit(); + final var prefs = sharedPreferences.getAll(); + for (final var pref : prefs.entrySet()) { final String key = pref.getKey(); Integer widgetId = null; Long noteId = null; @@ -69,7 +69,7 @@ public class Migration_13_14 extends Migration { themeMode = sharedPreferences.getBoolean(SP_DARK_THEME_KEY + widgetId, false) ? DarkModeSetting.DARK.getModeId() : DarkModeSetting.LIGHT.getModeId(); } - ContentValues migratedWidgetValues = new ContentValues(); + final var migratedWidgetValues = new ContentValues(); migratedWidgetValues.put("ID", widgetId); migratedWidgetValues.put("ACCOUNT_ID", accountId); migratedWidgetValues.put("NOTE_ID", noteId); diff --git a/app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_14_15.java b/app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_14_15.java index a66fc0e9..bda4d046 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_14_15.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_14_15.java @@ -27,7 +27,7 @@ public class Migration_14_15 extends Migration { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { // Rename a tmp_NOTES table. - String tmpTableNotes = String.format("tmp_%s", "NOTES"); + final String tmpTableNotes = String.format("tmp_%s", "NOTES"); db.execSQL("ALTER TABLE NOTES RENAME TO " + tmpTableNotes); db.execSQL("CREATE TABLE NOTES ( " + "ID INTEGER PRIMARY KEY AUTOINCREMENT, " + @@ -53,14 +53,14 @@ public class Migration_14_15 extends Migration { createIndex(db, "CATEGORIES", "CATEGORY_ID", "CATEGORY_ACCOUNT_ID", "CATEGORY_TITLE"); // A hashtable storing categoryTitle - categoryId Mapping // This is used to prevent too many searches in database - Hashtable<String, Integer> categoryTitleIdMap = new Hashtable<>(); + final var categoryTitleIdMap = new Hashtable<String, Integer>(); int id = 1; - Cursor tmpNotesCursor = db.query("SELECT * FROM " + tmpTableNotes, null); + final var tmpNotesCursor = db.query("SELECT * FROM " + tmpTableNotes, null); while (tmpNotesCursor.moveToNext()) { - String categoryTitle = tmpNotesCursor.getString(8); - int accountId = tmpNotesCursor.getInt(2); + final String categoryTitle = tmpNotesCursor.getString(8); + final int accountId = tmpNotesCursor.getInt(2); Log.e("###", accountId + ""); - Integer categoryId; + final Integer categoryId; if (categoryTitleIdMap.containsKey(categoryTitle) && categoryTitleIdMap.get(categoryTitle) != null) { categoryId = categoryTitleIdMap.get(categoryTitle); } else { @@ -74,7 +74,7 @@ public class Migration_14_15 extends Migration { categoryTitleIdMap.put(categoryTitle, categoryId); } // Move the data in tmp_NOTES to NOTES - ContentValues values = new ContentValues(); + final ContentValues values = new ContentValues(); values.put("ID", tmpNotesCursor.getInt(0)); values.put("REMOTEID", tmpNotesCursor.getInt(1)); values.put("ACCOUNT_ID", tmpNotesCursor.getInt(2)); @@ -99,7 +99,7 @@ public class Migration_14_15 extends Migration { } private static void createIndex(@NonNull SupportSQLiteDatabase db, @NonNull String table, @NonNull String column) { - String indexName = table + "_" + column + "_idx"; + final String indexName = table + "_" + column + "_idx"; Log.v(TAG, "Creating database index: CREATE INDEX IF NOT EXISTS " + indexName + " ON " + table + "(" + column + ")"); db.execSQL("CREATE INDEX " + indexName + " ON " + table + "(" + column + ")"); } diff --git a/app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_15_16.java b/app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_15_16.java index 48b7195b..7be78511 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_15_16.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_15_16.java @@ -51,10 +51,10 @@ public class Migration_15_16 extends Migration { final String SP_DARK_THEME_KEY = "NLW_darkTheme"; final String SP_CATEGORY_KEY = "NLW_cat"; - SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context); - SharedPreferences.Editor editor = sharedPreferences.edit(); - Map<String, ?> prefs = sharedPreferences.getAll(); - for (Map.Entry<String, ?> pref : prefs.entrySet()) { + final var sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context); + final var editor = sharedPreferences.edit(); + final var prefs = sharedPreferences.getAll(); + for (final var pref : prefs.entrySet()) { final String key = pref.getKey(); Integer widgetId = null; Integer mode = null; @@ -76,7 +76,7 @@ public class Migration_15_16 extends Migration { if (mode == 2) { final String categoryTitle = sharedPreferences.getString(SP_CATEGORY_KEY + widgetId, null); - Cursor cursor = db.query("SELECT CATEGORY_ID FROM CATEGORIES WHERE CATEGORY_TITLE = ? AND CATEGORY_ACCOUNT_ID = ?", new String[]{categoryTitle, String.valueOf(accountId)}); + final var cursor = db.query("SELECT CATEGORY_ID FROM CATEGORIES WHERE CATEGORY_TITLE = ? AND CATEGORY_ACCOUNT_ID = ?", new String[]{categoryTitle, String.valueOf(accountId)}); if (cursor.moveToNext()) { categoryId = cursor.getInt(0); } else { @@ -85,7 +85,7 @@ public class Migration_15_16 extends Migration { cursor.close(); } - ContentValues migratedWidgetValues = new ContentValues(); + final var migratedWidgetValues = new ContentValues(); migratedWidgetValues.put("ID", widgetId); migratedWidgetValues.put("ACCOUNT_ID", accountId); migratedWidgetValues.put("CATEGORY_ID", categoryId); diff --git a/app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_20_21.java b/app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_20_21.java index d9ed2041..32ede8b1 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_20_21.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_20_21.java @@ -90,8 +90,8 @@ public final class Migration_20_21 extends Migration { } private static void migrateAccounts(@NonNull SupportSQLiteDatabase db) { - final Cursor cursor = db.query("SELECT * FROM ACCOUNTS", null); - final ContentValues values = new ContentValues(10); + final var cursor = db.query("SELECT * FROM ACCOUNTS", null); + final var values = new ContentValues(10); final int COLUMN_POSITION_ID = cursor.getColumnIndex("ID"); final int COLUMN_POSITION_URL = cursor.getColumnIndex("URL"); @@ -131,8 +131,8 @@ public final class Migration_20_21 extends Migration { } private static void migrateCategories(@NonNull SupportSQLiteDatabase db) { - final Cursor cursor = db.query("SELECT * FROM CATEGORIES", null); - final ContentValues values = new ContentValues(3); + final var cursor = db.query("SELECT * FROM CATEGORIES", null); + final var values = new ContentValues(3); final int COLUMN_POSITION_ACCOUNT_ID = cursor.getColumnIndex("CATEGORY_ACCOUNT_ID"); final int COLUMN_POSITION_TITLE = cursor.getColumnIndex("CATEGORY_TITLE"); @@ -148,8 +148,8 @@ public final class Migration_20_21 extends Migration { } private static void migrateNotes(@NonNull SupportSQLiteDatabase db) { - final Cursor cursor = db.query("SELECT NOTES.*, CATEGORIES.category_title as `CAT_TITLE` FROM NOTES LEFT JOIN CATEGORIES ON NOTES.category = CATEGORIES.category_id", null); - final ContentValues values = new ContentValues(12); + final var cursor = db.query("SELECT NOTES.*, CATEGORIES.category_title as `CAT_TITLE` FROM NOTES LEFT JOIN CATEGORIES ON NOTES.category = CATEGORIES.category_id", null); + final var values = new ContentValues(12); final int COLUMN_POSITION_ID = cursor.getColumnIndex("ID"); final int COLUMN_POSITION_REMOTEID = cursor.getColumnIndex("REMOTEID"); @@ -183,8 +183,8 @@ public final class Migration_20_21 extends Migration { } private static void migrateNotesListWidgets(@NonNull SupportSQLiteDatabase db) { - final Cursor cursor = db.query("SELECT WIDGET_NOTE_LISTS.*, CATEGORIES.category_title as `CATEGORY` FROM WIDGET_NOTE_LISTS LEFT JOIN CATEGORIES ON WIDGET_NOTE_LISTS.CATEGORY_ID = CATEGORIES.category_id", null); - final ContentValues values = new ContentValues(5); + final var cursor = db.query("SELECT WIDGET_NOTE_LISTS.*, CATEGORIES.category_title as `CATEGORY` FROM WIDGET_NOTE_LISTS LEFT JOIN CATEGORIES ON WIDGET_NOTE_LISTS.CATEGORY_ID = CATEGORIES.category_id", null); + final var values = new ContentValues(5); final int COLUMN_POSITION_ID = cursor.getColumnIndex("ID"); final int COLUMN_POSITION_ACCOUNT_ID = cursor.getColumnIndex("ACCOUNT_ID"); @@ -204,8 +204,8 @@ public final class Migration_20_21 extends Migration { } private static void migrateSingleNotesWidgets(@NonNull SupportSQLiteDatabase db) { - final Cursor cursor = db.query("SELECT * FROM WIDGET_SINGLE_NOTES", null); - final ContentValues values = new ContentValues(4); + final var cursor = db.query("SELECT * FROM WIDGET_SINGLE_NOTES", null); + final var values = new ContentValues(4); final int COLUMN_POSITION_ID = cursor.getColumnIndex("ID"); final int COLUMN_POSITION_ACCOUNT_ID = cursor.getColumnIndex("ACCOUNT_ID"); diff --git a/app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_21_22.java b/app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_21_22.java index f4413bba..c076d38e 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_21_22.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_21_22.java @@ -25,8 +25,8 @@ public class Migration_21_22 extends Migration { @Override public void migrate(@NonNull SupportSQLiteDatabase database) { - SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context); - SharedPreferences.Editor editor = sharedPreferences.edit(); + final var sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context); + final var editor = sharedPreferences.edit(); if (sharedPreferences.contains("backgroundSync")) { editor.remove("backgroundSync"); if (sharedPreferences.getString("backgroundSync", "").equals("off")) { diff --git a/app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_22_23.java b/app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_22_23.java index b6a7494b..1ba08a3c 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_22_23.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_22_23.java @@ -46,8 +46,8 @@ public class Migration_22_23 extends Migration { } private static void sanitizeAccounts(@NonNull SupportSQLiteDatabase db) { - final Cursor cursor = db.query("SELECT id, apiVersion FROM ACCOUNT", null); - final ContentValues values = new ContentValues(1); + final var cursor = db.query("SELECT id, apiVersion FROM ACCOUNT", null); + final var values = new ContentValues(1); final int COLUMN_POSITION_ID = cursor.getColumnIndex("id"); final int COLUMN_POSITION_API_VERSION = cursor.getColumnIndex("apiVersion"); @@ -77,10 +77,10 @@ public class Migration_22_23 extends Migration { } } - final Collection<ApiVersion> result = new ArrayList<>(); + final var result = new ArrayList<ApiVersion>(); for (int i = 0; i < a.length(); i++) { try { - final ApiVersion version = ApiVersion.of(a.getString(i)); + final var version = ApiVersion.of(a.getString(i)); if (version.getMajor() != 0 || version.getMinor() != 0) { result.add(version); } diff --git a/app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_9_10.java b/app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_9_10.java index 7cdab8c0..9b4b328f 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_9_10.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_9_10.java @@ -24,9 +24,9 @@ public class Migration_9_10 extends Migration { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { db.execSQL("ALTER TABLE NOTES ADD COLUMN EXCERPT INTEGER NOT NULL DEFAULT ''"); - Cursor cursor = db.query("NOTES", new String[]{"ID", "CONTENT", "TITLE"}); + final var cursor = db.query("NOTES", new String[]{"ID", "CONTENT", "TITLE"}); while (cursor.moveToNext()) { - ContentValues values = new ContentValues(); + final var values = new ContentValues(); values.put("EXCERPT", NoteUtil.generateNoteExcerpt(cursor.getString(1), cursor.getString(2))); db.update("NOTES", OnConflictStrategy.REPLACE, values, "ID" + " = ? ", new String[]{cursor.getString(0)}); } diff --git a/app/src/main/java/it/niedermann/owncloud/notes/persistence/sync/CapabilitiesDeserializer.java b/app/src/main/java/it/niedermann/owncloud/notes/persistence/sync/CapabilitiesDeserializer.java index 141443e3..d5ae7b49 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/persistence/sync/CapabilitiesDeserializer.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/persistence/sync/CapabilitiesDeserializer.java @@ -34,18 +34,18 @@ public class CapabilitiesDeserializer implements JsonDeserializer<Capabilities> @Override public Capabilities deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException { - final Capabilities response = new Capabilities(); - final JsonObject data = json.getAsJsonObject(); + final var response = new Capabilities(); + final var data = json.getAsJsonObject(); if (data.has(CAPABILITIES)) { - final JsonObject capabilities = data.getAsJsonObject(CAPABILITIES); + final var capabilities = data.getAsJsonObject(CAPABILITIES); if (capabilities.has(CAPABILITIES_NOTES)) { - final JsonObject notes = capabilities.getAsJsonObject(CAPABILITIES_NOTES); + final var notes = capabilities.getAsJsonObject(CAPABILITIES_NOTES); if (notes.has(CAPABILITIES_NOTES_API_VERSION)) { response.setApiVersion(notes.get(CAPABILITIES_NOTES_API_VERSION).toString()); } } if (capabilities.has(CAPABILITIES_THEMING)) { - final JsonObject theming = capabilities.getAsJsonObject(CAPABILITIES_THEMING); + final var theming = capabilities.getAsJsonObject(CAPABILITIES_THEMING); if (theming.has(CAPABILITIES_THEMING_COLOR)) { try { response.setColor(Color.parseColor(ColorUtil.INSTANCE.formatColorToParsableHexString(theming.get(CAPABILITIES_THEMING_COLOR).getAsString()))); diff --git a/app/src/main/java/it/niedermann/owncloud/notes/preferences/DarkModeSetting.java b/app/src/main/java/it/niedermann/owncloud/notes/preferences/DarkModeSetting.java index d34ffe74..1c7c10f3 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/preferences/DarkModeSetting.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/preferences/DarkModeSetting.java @@ -1,6 +1,7 @@ package it.niedermann.owncloud.notes.preferences; import androidx.appcompat.app.AppCompatDelegate; +import androidx.appcompat.app.AppCompatDelegate.NightMode; import java.util.NoSuchElementException; @@ -31,12 +32,14 @@ public enum DarkModeSetting { */ SYSTEM_DEFAULT(AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM); + @NightMode private final int modeId; DarkModeSetting(int modeId) { this.modeId = modeId; } + @NightMode public int getModeId() { return modeId; } @@ -55,7 +58,7 @@ public enum DarkModeSetting { * @return An instance of {@link DarkModeSetting} */ public static DarkModeSetting fromModeID(int id) { - for (DarkModeSetting value : DarkModeSetting.values()) { + for (final var value : DarkModeSetting.values()) { if (value.modeId == id) { return value; } diff --git a/app/src/main/java/it/niedermann/owncloud/notes/preferences/PreferencesFragment.java b/app/src/main/java/it/niedermann/owncloud/notes/preferences/PreferencesFragment.java index a38fd56c..e09c1ed4 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/preferences/PreferencesFragment.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/preferences/PreferencesFragment.java @@ -74,7 +74,7 @@ public class PreferencesFragment extends PreferenceFragmentCompat implements Bra Log.e(TAG, "Could not find \"" + getString(R.string.pref_key_lock) + "\"-preference."); } - final ListPreference themePref = findPreference(getString(R.string.pref_key_theme)); + final var themePref = findPreference(getString(R.string.pref_key_theme)); assert themePref != null; themePref.setOnPreferenceChangeListener((preference, newValue) -> { NotesApplication.setAppTheme(DarkModeSetting.valueOf((String) newValue)); @@ -103,12 +103,10 @@ public class PreferencesFragment extends PreferenceFragmentCompat implements Bra @Override public void onStart() { super.onStart(); - @Nullable Context context = getContext(); - if (context != null) { - @ColorInt final int mainColor = BrandingUtil.readBrandMainColor(context); - @ColorInt final int textColor = BrandingUtil.readBrandTextColor(context); - applyBrand(mainColor, textColor); - } + final var context = requireContext(); + @ColorInt final int mainColor = BrandingUtil.readBrandMainColor(context); + @ColorInt final int textColor = BrandingUtil.readBrandTextColor(context); + applyBrand(mainColor, textColor); } /** diff --git a/app/src/main/java/it/niedermann/owncloud/notes/quicksettings/NewNoteTileService.java b/app/src/main/java/it/niedermann/owncloud/notes/quicksettings/NewNoteTileService.java index 01308785..d660f182 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/quicksettings/NewNoteTileService.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/quicksettings/NewNoteTileService.java @@ -16,16 +16,15 @@ public class NewNoteTileService extends TileService { @Override public void onStartListening() { - Tile tile = getQsTile(); + final var tile = getQsTile(); tile.setState(Tile.STATE_ACTIVE); - tile.updateTile(); } @Override public void onClick() { // create new note intent - final Intent newNoteIntent = new Intent(getApplicationContext(), EditNoteActivity.class); + final var newNoteIntent = new Intent(getApplicationContext(), EditNoteActivity.class); // ensure it won't open twice if already running newNoteIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); // ask to unlock the screen if locked, then start new note intent diff --git a/app/src/main/java/it/niedermann/owncloud/notes/shared/model/ApiVersion.java b/app/src/main/java/it/niedermann/owncloud/notes/shared/model/ApiVersion.java index b35daaca..7ac09d66 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/shared/model/ApiVersion.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/shared/model/ApiVersion.java @@ -57,7 +57,7 @@ public class ApiVersion implements Comparable<ApiVersion> { } private static int extractNumber(String containsNumbers) { - final Matcher matcher = NUMBER_EXTRACTION_PATTERN.matcher(containsNumbers); + final var matcher = NUMBER_EXTRACTION_PATTERN.matcher(containsNumbers); if (matcher.find()) { return Integer.parseInt(matcher.group()); } diff --git a/app/src/main/java/it/niedermann/owncloud/notes/shared/model/CategorySortingMethod.java b/app/src/main/java/it/niedermann/owncloud/notes/shared/model/CategorySortingMethod.java index 6a36ade1..b743fcab 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/shared/model/CategorySortingMethod.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/shared/model/CategorySortingMethod.java @@ -38,7 +38,7 @@ public enum CategorySortingMethod { * @return the corresponding enum item with the index (ordinal) */ public static CategorySortingMethod findById(int id) { - for (CategorySortingMethod csm : values()) { + for (final var csm : values()) { if (csm.getId() == id) { return csm; } diff --git a/app/src/main/java/it/niedermann/owncloud/notes/shared/util/ApiVersionUtil.java b/app/src/main/java/it/niedermann/owncloud/notes/shared/util/ApiVersionUtil.java index 57788472..e6444658 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/shared/util/ApiVersionUtil.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/shared/util/ApiVersionUtil.java @@ -43,10 +43,10 @@ public class ApiVersionUtil { } } - final Collection<ApiVersion> result = new ArrayList<>(); + final var result = new ArrayList<ApiVersion>(); for (int i = 0; i < a.length(); i++) { try { - final ApiVersion version = ApiVersion.of(a.getString(i)); + final var version = ApiVersion.of(a.getString(i)); if (version.getMajor() != 0 || version.getMinor() != 0) { result.add(version); } diff --git a/app/src/main/java/it/niedermann/owncloud/notes/shared/util/DeviceCredentialUtil.java b/app/src/main/java/it/niedermann/owncloud/notes/shared/util/DeviceCredentialUtil.java index 14163e91..d0a60fcf 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/shared/util/DeviceCredentialUtil.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/shared/util/DeviceCredentialUtil.java @@ -16,7 +16,7 @@ public class DeviceCredentialUtil { } public static boolean areCredentialsAvailable(Context context) { - KeyguardManager keyguardManager = (KeyguardManager) context.getSystemService(Context.KEYGUARD_SERVICE); + final var keyguardManager = (KeyguardManager) context.getSystemService(Context.KEYGUARD_SERVICE); if (keyguardManager != null) { return keyguardManager.isKeyguardSecure(); diff --git a/app/src/main/java/it/niedermann/owncloud/notes/shared/util/DisplayUtils.java b/app/src/main/java/it/niedermann/owncloud/notes/shared/util/DisplayUtils.java index 06cbf57d..10884631 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/shared/util/DisplayUtils.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/shared/util/DisplayUtils.java @@ -1,5 +1,6 @@ package it.niedermann.owncloud.notes.shared.util; +import android.annotation.SuppressLint; import android.content.Context; import android.content.res.Resources; import android.graphics.Rect; @@ -34,8 +35,8 @@ public class DisplayUtils { } public static NavigationItem.CategoryNavigationItem convertToCategoryNavigationItem(@NonNull Context context, @NonNull CategoryWithNotesCount counter) { - Resources res = context.getResources(); - String category = counter.getCategory().toLowerCase(); + final var res = context.getResources(); + final String category = counter.getCategory().toLowerCase(); int icon = NavigationAdapter.ICON_FOLDER; if (category.equals(res.getString(R.string.category_music).toLowerCase())) { icon = R.drawable.ic_library_music_grey600_24dp; @@ -54,6 +55,7 @@ public class DisplayUtils { * @param parentView View * @return keyboardVisibility Boolean */ + @SuppressLint("WrongConstant") public static boolean isSoftKeyboardVisible(@NonNull View parentView) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { final WindowInsetsCompat insets = ViewCompat.getRootWindowInsets(parentView); @@ -64,8 +66,8 @@ public class DisplayUtils { //Arbitrary keyboard height final int defaultKeyboardHeightDP = 100; - final int EstimatedKeyboardDP = defaultKeyboardHeightDP + (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP ? 48 : 0); - final Rect rect = new Rect(); + final int EstimatedKeyboardDP = defaultKeyboardHeightDP + 48; + final var rect = new Rect(); final int estimatedKeyboardHeight = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, EstimatedKeyboardDP, parentView.getResources().getDisplayMetrics()); parentView.getWindowVisibleDisplayFrame(rect); final int heightDiff = parentView.getRootView().getHeight() - (rect.bottom - rect.top); diff --git a/app/src/main/java/it/niedermann/owncloud/notes/shared/util/NotesColorUtil.java b/app/src/main/java/it/niedermann/owncloud/notes/shared/util/NotesColorUtil.java index 42aaf79d..035aab9a 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/shared/util/NotesColorUtil.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/shared/util/NotesColorUtil.java @@ -18,7 +18,7 @@ public final class NotesColorUtil { } public static boolean contrastRatioIsSufficient(@ColorInt int colorOne, @ColorInt int colorTwo) { - ColorPair key = new ColorPair(colorOne, colorTwo); + final var key = new ColorPair(colorOne, colorTwo); Boolean ret = CONTRAST_RATIO_SUFFICIENT_CACHE.get(key); if (ret == null) { ret = ColorUtil.INSTANCE.getContrastRatio(colorOne, colorTwo) > 3d; @@ -37,7 +37,7 @@ public final class NotesColorUtil { @SuppressWarnings({"EqualsWhichDoesntCheckParameterClass", "NumberEquality"}) @Override public boolean equals(Object o) { - final ColorPair colorPair = (ColorPair) o; + final var colorPair = (ColorPair) o; if (first != colorPair.first) return false; return second == colorPair.second; } diff --git a/app/src/main/java/it/niedermann/owncloud/notes/widget/createnote/CreateNoteWidget.java b/app/src/main/java/it/niedermann/owncloud/notes/widget/createnote/CreateNoteWidget.java index d4a6b1d2..7f5fc7c9 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/widget/createnote/CreateNoteWidget.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/widget/createnote/CreateNoteWidget.java @@ -19,10 +19,10 @@ public class CreateNoteWidget extends AppWidgetProvider { int appWidgetId) { // Construct the RemoteViews object - RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget_create_note); - Intent intent = new Intent(context, EditNoteActivity.class); + final var views = new RemoteViews(context.getPackageName(), R.layout.widget_create_note); + final var intent = new Intent(context, EditNoteActivity.class); - PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT); + final var pendingIntent = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT); views.setOnClickPendingIntent(R.id.widget_create_note, pendingIntent); // Instruct the widget manager to update the widget @@ -33,7 +33,7 @@ public class CreateNoteWidget extends AppWidgetProvider { public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { // There may be multiple widgets active, so update all of them - for (int appWidgetId : appWidgetIds) { + for (final int appWidgetId : appWidgetIds) { updateAppWidget(context, appWidgetManager, appWidgetId); } } diff --git a/app/src/main/java/it/niedermann/owncloud/notes/widget/notelist/NoteListViewModel.java b/app/src/main/java/it/niedermann/owncloud/notes/widget/notelist/NoteListViewModel.java index 9ec3e355..61d6869d 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/widget/notelist/NoteListViewModel.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/widget/notelist/NoteListViewModel.java @@ -42,9 +42,9 @@ public class NoteListViewModel extends AndroidViewModel { return switchMap(distinctUntilChanged(repo.countFavorites$(accountId)), (favoritesCount) -> { Log.v(TAG, "[getAdapterCategories] getFavoritesCountLiveData: " + favoritesCount); return map(distinctUntilChanged(repo.getCategories$(accountId)), fromDatabase -> { - final List<NavigationItem.CategoryNavigationItem> categories = convertToCategoryNavigationItem(getApplication(), fromDatabase); + final var categories = convertToCategoryNavigationItem(getApplication(), fromDatabase); - final List<NavigationItem> items = new ArrayList<>(fromDatabase.size() + 3); + final var items = new ArrayList<NavigationItem>(fromDatabase.size() + 3); items.add(new NavigationItem(MainActivity.ADAPTER_KEY_RECENT, getApplication().getString(R.string.label_all_notes), count, R.drawable.ic_access_time_grey600_24dp, RECENT)); items.add(new NavigationItem(MainActivity.ADAPTER_KEY_STARRED, getApplication().getString(R.string.label_favorites), favoritesCount, R.drawable.ic_star_yellow_24dp, FAVORITES)); @@ -52,7 +52,7 @@ public class NoteListViewModel extends AndroidViewModel { items.add(new NavigationItem(MainActivity.ADAPTER_KEY_UNCATEGORIZED, "", null, NavigationAdapter.ICON_NOFOLDER)); } - for (NavigationItem item : categories) { + for (final var item : categories) { final int slashIndex = item.label.indexOf('/'); item.label = slashIndex < 0 ? item.label : item.label.substring(0, slashIndex); diff --git a/app/src/main/java/it/niedermann/owncloud/notes/widget/notelist/NoteListWidget.java b/app/src/main/java/it/niedermann/owncloud/notes/widget/notelist/NoteListWidget.java index 8825ad98..7b2d2639 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/widget/notelist/NoteListWidget.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/widget/notelist/NoteListWidget.java @@ -23,19 +23,19 @@ public class NoteListWidget extends AppWidgetProvider { private final ExecutorService executor = Executors.newCachedThreadPool(); static void updateAppWidget(Context context, AppWidgetManager awm, int[] appWidgetIds) { - final NotesRepository repo = NotesRepository.getInstance(context); + final var repo = NotesRepository.getInstance(context); RemoteViews views; for (int appWidgetId : appWidgetIds) { try { - final NotesListWidgetData data = repo.getNoteListWidgetData(appWidgetId); + final var data = repo.getNoteListWidgetData(appWidgetId); - final Intent serviceIntent = new Intent(context, NoteListWidgetService.class); + final var serviceIntent = new Intent(context, NoteListWidgetService.class); serviceIntent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId); serviceIntent.setData(Uri.parse(serviceIntent.toUri(Intent.URI_INTENT_SCHEME))); - final PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, new Intent(), PendingIntent.FLAG_UPDATE_CURRENT | Intent.FILL_IN_COMPONENT); + final var pendingIntent = PendingIntent.getActivity(context, 0, new Intent(), PendingIntent.FLAG_UPDATE_CURRENT | Intent.FILL_IN_COMPONENT); Log.v(TAG, "-- data - " + data); @@ -61,7 +61,7 @@ public class NoteListWidget extends AppWidgetProvider { @Override public void onReceive(Context context, Intent intent) { super.onReceive(context, intent); - AppWidgetManager awm = AppWidgetManager.getInstance(context); + final var awm = AppWidgetManager.getInstance(context); if (intent.getAction() != null) { if (intent.getAction().equals(AppWidgetManager.ACTION_APPWIDGET_UPDATE)) { @@ -83,9 +83,9 @@ public class NoteListWidget extends AppWidgetProvider { @Override public void onDeleted(Context context, int[] appWidgetIds) { super.onDeleted(context, appWidgetIds); - final NotesRepository repo = NotesRepository.getInstance(context); + final var repo = NotesRepository.getInstance(context); - for (int appWidgetId : appWidgetIds) { + for (final int appWidgetId : appWidgetIds) { executor.submit(() -> repo.removeNoteListWidget(appWidgetId)); } } diff --git a/app/src/main/java/it/niedermann/owncloud/notes/widget/notelist/NoteListWidgetConfigurationActivity.java b/app/src/main/java/it/niedermann/owncloud/notes/widget/notelist/NoteListWidgetConfigurationActivity.java index 3d7122da..fb94f7d8 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/widget/notelist/NoteListWidgetConfigurationActivity.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/widget/notelist/NoteListWidgetConfigurationActivity.java @@ -54,10 +54,10 @@ public class NoteListWidgetConfigurationActivity extends LockedActivity { setResult(RESULT_CANCELED); repo = NotesRepository.getInstance(this); - final Bundle extras = getIntent().getExtras(); + final var args = getIntent().getExtras(); - if (extras != null) { - appWidgetId = extras.getInt(AppWidgetManager.EXTRA_APPWIDGET_ID, + if (args != null) { + appWidgetId = args.getInt(AppWidgetManager.EXTRA_APPWIDGET_ID, AppWidgetManager.INVALID_APPWIDGET_ID); } @@ -73,7 +73,7 @@ public class NoteListWidgetConfigurationActivity extends LockedActivity { adapterCategories = new NavigationAdapter(this, new NavigationClickListener() { @Override public void onItemClick(NavigationItem item) { - NotesListWidgetData data = new NotesListWidgetData(); + final var data = new NotesListWidgetData(); data.setId(appWidgetId); if (item.type != null) { @@ -112,7 +112,7 @@ public class NoteListWidgetConfigurationActivity extends LockedActivity { executor.submit(() -> { repo.createOrUpdateNoteListWidgetData(data); - final Intent updateIntent = new Intent(AppWidgetManager.ACTION_APPWIDGET_UPDATE, null, getApplicationContext(), NoteListWidget.class) + final var updateIntent = new Intent(AppWidgetManager.ACTION_APPWIDGET_UPDATE, null, getApplicationContext(), NoteListWidget.class) .putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId); setResult(RESULT_OK, updateIntent); getApplicationContext().sendBroadcast(updateIntent); diff --git a/app/src/main/java/it/niedermann/owncloud/notes/widget/notelist/NoteListWidgetFactory.java b/app/src/main/java/it/niedermann/owncloud/notes/widget/notelist/NoteListWidgetFactory.java index b7482233..94548e98 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/widget/notelist/NoteListWidgetFactory.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/widget/notelist/NoteListWidgetFactory.java @@ -177,8 +177,7 @@ public class NoteListWidgetFactory implements RemoteViewsService.RemoteViewsFact Log.e(TAG, "Could not find position \"" + position + "\" in dbNotes list."); return -2; } - Note note = dbNotes.get(position); - return note.getId(); + return dbNotes.get(position).getId(); } } diff --git a/app/src/main/java/it/niedermann/owncloud/notes/widget/singlenote/SingleNoteWidget.java b/app/src/main/java/it/niedermann/owncloud/notes/widget/singlenote/SingleNoteWidget.java index 106b9f93..b86a4848 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/widget/singlenote/SingleNoteWidget.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/widget/singlenote/SingleNoteWidget.java @@ -25,22 +25,22 @@ public class SingleNoteWidget extends AppWidgetProvider { private final ExecutorService executor = Executors.newCachedThreadPool(); static void updateAppWidget(Context context, AppWidgetManager awm, int[] appWidgetIds) { - final Intent templateIntent = new Intent(context, EditNoteActivity.class); - final NotesRepository repo = NotesRepository.getInstance(context); + final var templateIntent = new Intent(context, EditNoteActivity.class); + final var repo = NotesRepository.getInstance(context); for (int appWidgetId : appWidgetIds) { - final SingleNoteWidgetData data = repo.getSingleNoteWidgetData(appWidgetId); + final var data = repo.getSingleNoteWidgetData(appWidgetId); if (data != null) { templateIntent.putExtra(BaseNoteFragment.PARAM_ACCOUNT_ID, data.getAccountId()); - final PendingIntent templatePendingIntent = PendingIntent.getActivity(context, appWidgetId, templateIntent, + final var templatePendingIntent = PendingIntent.getActivity(context, appWidgetId, templateIntent, PendingIntent.FLAG_UPDATE_CURRENT); - final Intent serviceIntent = new Intent(context, SingleNoteWidgetService.class); + final var serviceIntent = new Intent(context, SingleNoteWidgetService.class); serviceIntent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId); serviceIntent.setData(Uri.parse(serviceIntent.toUri(Intent.URI_INTENT_SCHEME))); - final RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget_single_note); + final var views = new RemoteViews(context.getPackageName(), R.layout.widget_single_note); views.setPendingIntentTemplate(R.id.single_note_widget_lv, templatePendingIntent); views.setRemoteAdapter(R.id.single_note_widget_lv, serviceIntent); views.setEmptyView(R.id.single_note_widget_lv, R.id.widget_single_note_placeholder_tv); @@ -62,7 +62,7 @@ public class SingleNoteWidget extends AppWidgetProvider { @Override public void onReceive(Context context, Intent intent) { super.onReceive(context, intent); - AppWidgetManager awm = AppWidgetManager.getInstance(context); + final var awm = AppWidgetManager.getInstance(context); updateAppWidget(context, AppWidgetManager.getInstance(context), (awm.getAppWidgetIds(new ComponentName(context, SingleNoteWidget.class)))); @@ -70,7 +70,7 @@ public class SingleNoteWidget extends AppWidgetProvider { @Override public void onDeleted(Context context, int[] appWidgetIds) { - final NotesRepository repo = NotesRepository.getInstance(context); + final var repo = NotesRepository.getInstance(context); for (int appWidgetId : appWidgetIds) { executor.submit(() -> repo.removeSingleNoteWidget(appWidgetId)); diff --git a/app/src/main/java/it/niedermann/owncloud/notes/widget/singlenote/SingleNoteWidgetConfigurationActivity.java b/app/src/main/java/it/niedermann/owncloud/notes/widget/singlenote/SingleNoteWidgetConfigurationActivity.java index a487e669..7324f8b2 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/widget/singlenote/SingleNoteWidgetConfigurationActivity.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/widget/singlenote/SingleNoteWidgetConfigurationActivity.java @@ -28,8 +28,8 @@ public class SingleNoteWidgetConfigurationActivity extends MainActivity { setResult(Activity.RESULT_CANCELED); fabCreate.setVisibility(View.GONE); - Toolbar toolbar = binding.activityNotesListView.toolbar; - SwipeRefreshLayout swipeRefreshLayout = binding.activityNotesListView.swiperefreshlayout; + final var toolbar = binding.activityNotesListView.toolbar; + final var swipeRefreshLayout = binding.activityNotesListView.swiperefreshlayout; toolbar.setTitle(R.string.activity_select_single_note); swipeRefreshLayout.setEnabled(false); swipeRefreshLayout.setRefreshing(false); @@ -42,15 +42,15 @@ public class SingleNoteWidgetConfigurationActivity extends MainActivity { @Override public void onNoteClick(int position, View v) { - final Note note = (Note) adapter.getItem(position); - final Bundle extras = getIntent().getExtras(); + final var note = (Note) adapter.getItem(position); + final var args = getIntent().getExtras(); - if (extras == null) { + if (args == null) { finish(); return; } - int appWidgetId = extras.getInt(AppWidgetManager.EXTRA_APPWIDGET_ID, AppWidgetManager.INVALID_APPWIDGET_ID); + final int appWidgetId = args.getInt(AppWidgetManager.EXTRA_APPWIDGET_ID, AppWidgetManager.INVALID_APPWIDGET_ID); executor.submit(() -> { try { @@ -62,7 +62,7 @@ public class SingleNoteWidgetConfigurationActivity extends MainActivity { NotesApplication.getAppTheme(this).getModeId() ) ); - final Intent updateIntent = new Intent(AppWidgetManager.ACTION_APPWIDGET_UPDATE, null, + final var updateIntent = new Intent(AppWidgetManager.ACTION_APPWIDGET_UPDATE, null, getApplicationContext(), SingleNoteWidget.class) .putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId); setResult(RESULT_OK, updateIntent); diff --git a/app/src/main/java/it/niedermann/owncloud/notes/widget/singlenote/SingleNoteWidgetFactory.java b/app/src/main/java/it/niedermann/owncloud/notes/widget/singlenote/SingleNoteWidgetFactory.java index f6ca4a24..5369d3c7 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/widget/singlenote/SingleNoteWidgetFactory.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/widget/singlenote/SingleNoteWidgetFactory.java @@ -41,7 +41,7 @@ public class SingleNoteWidgetFactory implements RemoteViewsService.RemoteViewsFa @Override public void onDataSetChanged() { - final SingleNoteWidgetData data = repo.getSingleNoteWidgetData(appWidgetId); + final var data = repo.getSingleNoteWidgetData(appWidgetId); if (data != null) { final long noteId = data.getNoteId(); Log.v(TAG, "Fetch note with id " + noteId); @@ -82,14 +82,14 @@ public class SingleNoteWidgetFactory implements RemoteViewsService.RemoteViewsFa return null; } - final Intent fillInIntent = new Intent(); - final Bundle extras = new Bundle(); + final var fillInIntent = new Intent(); + final var args = new Bundle(); - extras.putLong(EditNoteActivity.PARAM_NOTE_ID, note.getId()); - extras.putLong(EditNoteActivity.PARAM_ACCOUNT_ID, note.getAccountId()); - fillInIntent.putExtras(extras); + args.putLong(EditNoteActivity.PARAM_NOTE_ID, note.getId()); + args.putLong(EditNoteActivity.PARAM_ACCOUNT_ID, note.getAccountId()); + fillInIntent.putExtras(args); - final RemoteViews note_content = new RemoteViews(context.getPackageName(), R.layout.widget_single_note_content); + final var note_content = new RemoteViews(context.getPackageName(), R.layout.widget_single_note_content); note_content.setOnClickFillInIntent(R.id.single_note_content_tv, fillInIntent); note_content.setTextViewText(R.id.single_note_content_tv, MarkdownUtil.renderForRemoteView(context, note.getContent())); |