Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/stefan-niedermann/nextcloud-deck.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordesperateCoder <echotodevnull@gmail.com>2021-08-03 13:02:32 +0300
committerdesperateCoder <echotodevnull@gmail.com>2021-08-03 13:02:32 +0300
commit8c18d8b6652f67b480da65c6b22672736629e815 (patch)
tree6448ba25338eedae54c5398a686bc0640604dcfa /app/src/main/java/it
parent7a45c8606b54d4a9329cd716a4902ef06a48f9d5 (diff)
parent525173558538c9673ffa8fbbcb7d5ef17166449b (diff)
Merge branch 'master' of github.com:stefan-niedermann/nextcloud-deck
Diffstat (limited to 'app/src/main/java/it')
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/DeckApplication.java27
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/branding/NewCardDialog.java22
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/exception/ExceptionActivity.java4
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/exception/ExceptionDialogFragment.java12
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/exception/tips/TipsAdapter.java13
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/exception/tips/TipsViewHolder.java6
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterDialogFragment.java16
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterDueTypeFragment.java6
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterLabelsAdapter.java2
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterLabelsFragment.java10
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterUserFragment.java10
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterViewModel.java24
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/manageaccounts/ManageAccountAdapter.java4
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/movecard/MoveCardDialogFragment.java14
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/pickstack/PickStackFragment.java22
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/preparecreate/AccountAdapter.java2
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/preparecreate/BoardAdapter.java8
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/preparecreate/PrepareCreateActivity.java13
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/preparecreate/PrepareCreateViewModel.java8
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/settings/SettingsActivity.java2
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/settings/SettingsFragment.java9
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/sharetarget/ShareProgressDialogFragment.java8
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/sharetarget/ShareProgressViewModel.java18
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/sharetarget/ShareTargetActivity.java17
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/stack/DeleteStackDialogFragment.java11
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/stack/EditStackDialogFragment.java12
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/stack/StackAdapter.java2
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/stack/StackFragment.java12
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/takephoto/TakePhotoActivity.java21
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/takephoto/TakePhotoViewModel.java10
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/tiles/EditCardTileService.java4
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/upcomingcards/UpcomingCardsActivity.java4
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/upcomingcards/UpcomingCardsAdapter.java17
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/upcomingcards/UpcomingCardsOptionsItemSelectedListener.java8
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/view/ColorChooser.java11
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/view/EmptyContentView.java11
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/view/OverlappingAvatars.java7
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/view/SquareRelativeLayout.java1
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/view/labelchip/LabelChip.java4
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/view/labellayout/LabelLayout.java14
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/util/AttachmentUtil.java10
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/util/CardUtil.java17
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/util/CustomAppGlideModule.java5
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/util/DeckColorUtil.java10
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/util/DrawerMenuUtil.java14
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/util/FilesUtil.java11
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/util/ProjectUtil.java8
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/util/SpannableUtil.java26
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/util/UriUtils.java3
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/util/VCardUtil.java6
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/util/ViewUtil.java10
51 files changed, 262 insertions, 284 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/DeckApplication.java b/app/src/main/java/it/niedermann/nextcloud/deck/DeckApplication.java
index 85d3d0f1c..0b26e97f5 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/DeckApplication.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/DeckApplication.java
@@ -1,8 +1,10 @@
package it.niedermann.nextcloud.deck;
+import static androidx.appcompat.app.AppCompatDelegate.setDefaultNightMode;
+import static androidx.lifecycle.Transformations.distinctUntilChanged;
+
import android.app.Application;
import android.content.Context;
-import android.content.SharedPreferences;
import android.content.res.Configuration;
import androidx.annotation.ColorInt;
@@ -14,9 +16,6 @@ import androidx.preference.PreferenceManager;
import it.niedermann.android.sharedpreferences.SharedPreferenceIntLiveData;
import it.niedermann.nextcloud.deck.model.Account;
-import static androidx.appcompat.app.AppCompatDelegate.setDefaultNightMode;
-import static androidx.lifecycle.Transformations.distinctUntilChanged;
-
public class DeckApplication extends Application {
public static final long NO_ACCOUNT_ID = -1L;
@@ -35,7 +34,7 @@ public class DeckApplication extends Application {
PREF_KEY_DEBUGGING = getString(R.string.pref_key_debugging);
setAppTheme(getAppTheme(this));
DeckLog.enablePersistentLogs(isPersistentLoggingEnabled(this));
- final SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
+ final var sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
currentAccountColor$ = distinctUntilChanged(new SharedPreferenceIntLiveData(sharedPreferences,
getString(R.string.shared_preference_last_account_color),
ContextCompat.getColor(this, R.color.defaultBrand)));
@@ -57,7 +56,7 @@ public class DeckApplication extends Application {
// ---------
public static boolean isPersistentLoggingEnabled(@NonNull Context context) {
- final SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);
+ final var sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);
final boolean enabled = sharedPreferences.getBoolean(PREF_KEY_DEBUGGING, false);
DeckLog.log("--- Read:", PREF_KEY_DEBUGGING, "→", enabled);
return enabled;
@@ -72,7 +71,7 @@ public class DeckApplication extends Application {
}
public static int getAppTheme(@NonNull Context context) {
- final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
+ final var prefs = PreferenceManager.getDefaultSharedPreferences(context);
String mode;
try {
mode = prefs.getString(PREF_KEY_THEME, context.getString(R.string.pref_value_theme_system_default));
@@ -101,7 +100,7 @@ public class DeckApplication extends Application {
// --------------------------------------
public static void saveCurrentAccount(@NonNull Context context, @NonNull Account account) {
- final SharedPreferences.Editor editor = PreferenceManager.getDefaultSharedPreferences(context).edit();
+ final var editor = PreferenceManager.getDefaultSharedPreferences(context).edit();
DeckLog.log("--- Write:", context.getString(R.string.shared_preference_last_account), "→", account.getId());
editor.putLong(context.getString(R.string.shared_preference_last_account), account.getId());
DeckLog.log("--- Write:", context.getString(R.string.shared_preference_last_account_color), "→", account.getColor());
@@ -119,42 +118,42 @@ public class DeckApplication extends Application {
@ColorInt
public static int readCurrentAccountColor(@NonNull Context context) {
- final SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context.getApplicationContext());
+ final var sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context.getApplicationContext());
@ColorInt final int accountColor = sharedPreferences.getInt(context.getString(R.string.shared_preference_last_account_color), context.getApplicationContext().getResources().getColor(R.color.defaultBrand));
DeckLog.log("--- Read:", context.getString(R.string.shared_preference_last_account_color), "→", accountColor);
return accountColor;
}
public static long readCurrentAccountId(@NonNull Context context) {
- final SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);
+ final var sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);
final long accountId = sharedPreferences.getLong(context.getString(R.string.shared_preference_last_account), NO_ACCOUNT_ID);
DeckLog.log("--- Read:", context.getString(R.string.shared_preference_last_account), "→", accountId);
return accountId;
}
public static void saveCurrentBoardId(@NonNull Context context, long accountId, long boardId) {
- final SharedPreferences.Editor editor = PreferenceManager.getDefaultSharedPreferences(context).edit();
+ final var editor = PreferenceManager.getDefaultSharedPreferences(context).edit();
DeckLog.log("--- Write:", context.getString(R.string.shared_preference_last_board_for_account_) + accountId, "→", boardId);
editor.putLong(context.getString(R.string.shared_preference_last_board_for_account_) + accountId, boardId);
editor.apply();
}
public static long readCurrentBoardId(@NonNull Context context, long accountId) {
- final SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);
+ final var sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);
final long boardId = sharedPreferences.getLong(context.getString(R.string.shared_preference_last_board_for_account_) + accountId, NO_BOARD_ID);
DeckLog.log("--- Read:", context.getString(R.string.shared_preference_last_board_for_account_) + accountId, "→", boardId);
return boardId;
}
public static void saveCurrentStackId(@NonNull Context context, long accountId, long boardId, long stackId) {
- final SharedPreferences.Editor editor = PreferenceManager.getDefaultSharedPreferences(context).edit();
+ final var editor = PreferenceManager.getDefaultSharedPreferences(context).edit();
DeckLog.log("--- Write:", context.getString(R.string.shared_preference_last_stack_for_account_and_board_) + accountId + "_" + boardId, "→", stackId);
editor.putLong(context.getString(R.string.shared_preference_last_stack_for_account_and_board_) + accountId + "_" + boardId, stackId);
editor.apply();
}
public static long readCurrentStackId(@NonNull Context context, long accountId, long boardId) {
- final SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);
+ final var sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);
final long savedStackId = sharedPreferences.getLong(context.getString(R.string.shared_preference_last_stack_for_account_and_board_) + accountId + "_" + boardId, NO_STACK_ID);
DeckLog.log("--- Read:", context.getString(R.string.shared_preference_last_stack_for_account_and_board_) + accountId + "_" + boardId, "→", savedStackId);
return savedStackId;
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/branding/NewCardDialog.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/branding/NewCardDialog.java
index 84a3b1d0f..5332dc0e0 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/branding/NewCardDialog.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/branding/NewCardDialog.java
@@ -1,5 +1,7 @@
package it.niedermann.nextcloud.deck.ui.branding;
+import static androidx.lifecycle.Transformations.distinctUntilChanged;
+
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
@@ -30,8 +32,6 @@ import it.niedermann.nextcloud.deck.ui.card.EditActivity;
import it.niedermann.nextcloud.deck.ui.exception.ExceptionDialogFragment;
import it.niedermann.nextcloud.deck.ui.preparecreate.PrepareCreateViewModel;
-import static androidx.lifecycle.Transformations.distinctUntilChanged;
-
public class NewCardDialog extends DialogFragment implements DialogInterface.OnClickListener {
private PrepareCreateViewModel viewModel;
@@ -53,7 +53,7 @@ public class NewCardDialog extends DialogFragment implements DialogInterface.OnC
@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 " + ARG_ACCOUNT + ", " + ARG_BOARD_LOCAL_ID + " and " + ARG_STACK_LOCAL_ID);
}
@@ -69,7 +69,7 @@ public class NewCardDialog extends DialogFragment implements DialogInterface.OnC
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
binding = DialogNewCardBinding.inflate(requireActivity().getLayoutInflater());
- final AlertDialog dialog = new AlertDialog.Builder(requireActivity())
+ final var dialog = new AlertDialog.Builder(requireActivity())
.setTitle(R.string.add_card)
.setView(binding.getRoot())
.setPositiveButton(R.string.edit, null)
@@ -113,9 +113,13 @@ public class NewCardDialog extends DialogFragment implements DialogInterface.OnC
if (isPending) {
binding.inputWrapper.setVisibility(View.INVISIBLE);
binding.progressCircular.setVisibility(View.VISIBLE);
+ dialog.getButton(DialogInterface.BUTTON_POSITIVE).setEnabled(false);
+ dialog.getButton(DialogInterface.BUTTON_NEGATIVE).setEnabled(false);
} else {
binding.inputWrapper.setVisibility(View.VISIBLE);
binding.progressCircular.setVisibility(View.GONE);
+ dialog.getButton(DialogInterface.BUTTON_POSITIVE).setEnabled(true);
+ dialog.getButton(DialogInterface.BUTTON_NEGATIVE).setEnabled(true);
}
});
@@ -155,10 +159,10 @@ public class NewCardDialog extends DialogFragment implements DialogInterface.OnC
}
if (Boolean.FALSE.equals(isPending.getValue())) {
isPending.setValue(true);
- final Editable currentUserInput = binding.input.getText();
+ final var currentUserInput = binding.input.getText();
if (inputIsValid(currentUserInput)) {
- final FullCard fullCard = viewModel.createFullCard(account.getServerDeckVersionAsObject(), currentUserInput.toString());
- viewModel.saveCard(account.getId(), boardLocalId, stackLocalId, fullCard, new IResponseCallback<FullCard>() {
+ final var fullCard = viewModel.createFullCard(account.getServerDeckVersionAsObject(), currentUserInput.toString());
+ viewModel.saveCard(account.getId(), boardLocalId, stackLocalId, fullCard, new IResponseCallback<>() {
@Override
public void onResponse(FullCard createdCard) {
requireActivity().runOnUiThread(() -> {
@@ -193,8 +197,8 @@ public class NewCardDialog extends DialogFragment implements DialogInterface.OnC
}
public static DialogFragment newInstance(@NonNull Account account, long boardLocalId, long stackLocalId, @ColorInt int brand) {
- final DialogFragment fragment = new NewCardDialog();
- final Bundle args = new Bundle();
+ final var fragment = new NewCardDialog();
+ final var args = new Bundle();
args.putSerializable(ARG_ACCOUNT, account);
args.putLong(ARG_BOARD_LOCAL_ID, boardLocalId);
args.putLong(ARG_STACK_LOCAL_ID, stackLocalId);
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/exception/ExceptionActivity.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/exception/ExceptionActivity.java
index ac6335b90..31a20bb33 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/exception/ExceptionActivity.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/exception/ExceptionActivity.java
@@ -23,7 +23,7 @@ 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);
@@ -34,7 +34,7 @@ public class ExceptionActivity extends AppCompatActivity {
throwable = new Exception("Could not get exception");
}
- final TipsAdapter adapter = new TipsAdapter(this::startActivity);
+ final var adapter = new TipsAdapter(this::startActivity);
final String debugInfo = "Full Crash:\n\n" + ExceptionUtil.INSTANCE.getDebugInfos(this, throwable, BuildConfig.FLAVOR);
binding.tips.setAdapter(adapter);
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/exception/ExceptionDialogFragment.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/exception/ExceptionDialogFragment.java
index 7a84ce0b6..987394b4b 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/exception/ExceptionDialogFragment.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/exception/ExceptionDialogFragment.java
@@ -34,7 +34,7 @@ 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) {
this.throwable = (Throwable) args.getSerializable(KEY_THROWABLE);
if (this.throwable == null) {
@@ -47,10 +47,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(), throwable, BuildConfig.FLAVOR, account == null ? null : account.getServerDeckVersion());
@@ -73,10 +73,10 @@ public class ExceptionDialogFragment extends AppCompatDialogFragment {
}
public static DialogFragment newInstance(Throwable throwable, @Nullable Account account) {
- final Bundle args = new Bundle();
+ final var fragment = new ExceptionDialogFragment();
+ final var args = new Bundle();
args.putSerializable(KEY_THROWABLE, throwable);
args.putSerializable(KEY_ACCOUNT, account);
- final DialogFragment fragment = new ExceptionDialogFragment();
fragment.setArguments(args);
return fragment;
}
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/exception/tips/TipsAdapter.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/exception/tips/TipsAdapter.java
index 04ed59c46..6d0c3ff5e 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/exception/tips/TipsAdapter.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/exception/tips/TipsAdapter.java
@@ -1,5 +1,8 @@
package it.niedermann.nextcloud.deck.ui.exception.tips;
+import static android.provider.Settings.ACTION_APPLICATION_DETAILS_SETTINGS;
+import static it.niedermann.nextcloud.deck.ui.exception.ExceptionDialogFragment.INTENT_EXTRA_BUTTON_TEXT;
+
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
@@ -8,7 +11,6 @@ import android.os.Build.VERSION;
import android.os.Build.VERSION_CODES;
import android.provider.Settings;
import android.view.LayoutInflater;
-import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
@@ -38,9 +40,6 @@ import it.niedermann.nextcloud.deck.exceptions.OfflineException;
import it.niedermann.nextcloud.deck.exceptions.UploadAttachmentFailedException;
import it.niedermann.nextcloud.deck.model.Account;
-import static android.provider.Settings.ACTION_APPLICATION_DETAILS_SETTINGS;
-import static it.niedermann.nextcloud.deck.ui.exception.ExceptionDialogFragment.INTENT_EXTRA_BUTTON_TEXT;
-
public class TipsAdapter extends RecyclerView.Adapter<TipsViewHolder> {
private static final String[] APPS = new String[]{Constants.PACKAGE_NAME_PROD, Constants.PACKAGE_NAME_DEV};
@@ -60,8 +59,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
@@ -191,7 +190,7 @@ public class TipsAdapter extends RecyclerView.Adapter<TipsViewHolder> {
@Nullable
private static Intent getOpenFilesIntent(@NonNull Context context) {
- final PackageManager pm = context.getPackageManager();
+ final var pm = context.getPackageManager();
for (String app : APPS) {
try {
pm.getPackageInfo(app, PackageManager.GET_ACTIVITIES);
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/exception/tips/TipsViewHolder.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/exception/tips/TipsViewHolder.java
index 7d254459e..8a66c8cbf 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/exception/tips/TipsViewHolder.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/exception/tips/TipsViewHolder.java
@@ -1,5 +1,7 @@
package it.niedermann.nextcloud.deck.ui.exception.tips;
+import static it.niedermann.nextcloud.deck.ui.exception.ExceptionDialogFragment.INTENT_EXTRA_BUTTON_TEXT;
+
import android.content.Intent;
import android.view.View;
@@ -9,8 +11,6 @@ import androidx.recyclerview.widget.RecyclerView;
import it.niedermann.nextcloud.deck.databinding.ItemTipBinding;
-import static it.niedermann.nextcloud.deck.ui.exception.ExceptionDialogFragment.INTENT_EXTRA_BUTTON_TEXT;
-
public class TipsViewHolder extends RecyclerView.ViewHolder {
private final ItemTipBinding binding;
@@ -22,7 +22,7 @@ public class TipsViewHolder extends RecyclerView.ViewHolder {
public void bind(@NonNull TipsModel tip, @NonNull Consumer<Intent> actionButtonClickedListener) {
binding.tip.setText(tip.getText());
- final Intent actionIntent = tip.getActionIntent();
+ final var actionIntent = tip.getActionIntent();
if (actionIntent != null && actionIntent.hasExtra(INTENT_EXTRA_BUTTON_TEXT)) {
binding.actionButton.setVisibility(View.VISIBLE);
binding.actionButton.setText(actionIntent.getIntExtra(INTENT_EXTRA_BUTTON_TEXT, 0));
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterDialogFragment.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterDialogFragment.java
index 6bdd7a588..94101fff9 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterDialogFragment.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterDialogFragment.java
@@ -1,5 +1,7 @@
package it.niedermann.nextcloud.deck.ui.filter;
+import static it.niedermann.nextcloud.deck.ui.branding.BrandingUtil.getSecondaryForegroundColorDependingOnTheme;
+
import android.app.Dialog;
import android.graphics.PorterDuff;
import android.graphics.drawable.Drawable;
@@ -11,7 +13,6 @@ import androidx.appcompat.app.AlertDialog;
import androidx.core.content.ContextCompat;
import androidx.fragment.app.DialogFragment;
import androidx.fragment.app.Fragment;
-import androidx.lifecycle.LiveData;
import androidx.lifecycle.ViewModelProvider;
import androidx.viewpager2.adapter.FragmentStateAdapter;
import androidx.viewpager2.widget.ViewPager2;
@@ -22,11 +23,8 @@ import it.niedermann.android.util.ColorUtil;
import it.niedermann.nextcloud.deck.R;
import it.niedermann.nextcloud.deck.databinding.DialogFilterBinding;
import it.niedermann.nextcloud.deck.model.enums.EDueType;
-import it.niedermann.nextcloud.deck.model.internal.FilterInformation;
import it.niedermann.nextcloud.deck.ui.branding.BrandedDialogFragment;
-import static it.niedermann.nextcloud.deck.ui.branding.BrandingUtil.getSecondaryForegroundColorDependingOnTheme;
-
public class FilterDialogFragment extends BrandedDialogFragment {
private DialogFilterBinding binding;
@@ -44,19 +42,21 @@ public class FilterDialogFragment extends BrandedDialogFragment {
public Dialog onCreateDialog(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- indicator = ContextCompat.getDrawable(requireContext(), R.drawable.circle_grey600_8dp);
+ final var context = requireContext();
+
+ indicator = ContextCompat.getDrawable(context, R.drawable.circle_grey600_8dp);
assert indicator != null;
- indicator.setColorFilter(ContextCompat.getColor(getContext(), R.color.defaultBrand), PorterDuff.Mode.SRC_ATOP);
+ indicator.setColorFilter(ContextCompat.getColor(context, R.color.defaultBrand), PorterDuff.Mode.SRC_ATOP);
filterViewModel = new ViewModelProvider(requireActivity()).get(FilterViewModel.class);
- final AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(requireContext());
+ final var dialogBuilder = new AlertDialog.Builder(context);
binding = DialogFilterBinding.inflate(requireActivity().getLayoutInflater());
binding.viewPager.setAdapter(new TabsPagerAdapter(this));
binding.viewPager.setOffscreenPageLimit(tabTitles.length);
- LiveData<FilterInformation> filterInformationDraft = filterViewModel.getFilterInformationDraft();
+ final var filterInformationDraft = filterViewModel.getFilterInformationDraft();
new TabLayoutMediator(binding.tabLayout, binding.viewPager, (tab, position) -> {
filterInformationDraft.observe(this, (draft) -> {
switch (position) {
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterDueTypeFragment.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterDueTypeFragment.java
index 01ba1a966..5134498b2 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterDueTypeFragment.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterDueTypeFragment.java
@@ -1,5 +1,7 @@
package it.niedermann.nextcloud.deck.ui.filter;
+import static java.util.Objects.requireNonNull;
+
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
@@ -13,8 +15,6 @@ import androidx.lifecycle.ViewModelProvider;
import it.niedermann.nextcloud.deck.databinding.DialogFilterDuedateBinding;
import it.niedermann.nextcloud.deck.model.enums.EDueType;
-import static java.util.Objects.requireNonNull;
-
public class FilterDueTypeFragment extends Fragment implements SelectionListener<EDueType> {
private FilterViewModel filterViewModel;
@@ -23,7 +23,7 @@ public class FilterDueTypeFragment extends Fragment implements SelectionListener
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
- final DialogFilterDuedateBinding binding = DialogFilterDuedateBinding.inflate(requireActivity().getLayoutInflater());
+ final var binding = DialogFilterDuedateBinding.inflate(requireActivity().getLayoutInflater());
filterViewModel = new ViewModelProvider(requireActivity()).get(FilterViewModel.class);
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterLabelsAdapter.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterLabelsAdapter.java
index 39fb791be..83b8f8f3e 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterLabelsAdapter.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterLabelsAdapter.java
@@ -43,7 +43,7 @@ public class FilterLabelsAdapter extends RecyclerView.Adapter<FilterLabelsAdapte
@Override
public long getItemId(int position) {
- @Nullable final Label label = labels.get(position);
+ @Nullable final var label = labels.get(position);
return label == null ? -1L : label.getLocalId();
}
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterLabelsFragment.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterLabelsFragment.java
index e7d693185..b4eb17d0e 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterLabelsFragment.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterLabelsFragment.java
@@ -1,5 +1,8 @@
package it.niedermann.nextcloud.deck.ui.filter;
+import static java.util.Objects.requireNonNull;
+import static it.niedermann.nextcloud.deck.persistence.sync.adapters.db.util.LiveDataHelper.observeOnce;
+
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
@@ -14,9 +17,6 @@ import it.niedermann.nextcloud.deck.databinding.DialogFilterLabelsBinding;
import it.niedermann.nextcloud.deck.model.Label;
import it.niedermann.nextcloud.deck.ui.MainViewModel;
-import static it.niedermann.nextcloud.deck.persistence.sync.adapters.db.util.LiveDataHelper.observeOnce;
-import static java.util.Objects.requireNonNull;
-
public class FilterLabelsFragment extends Fragment implements SelectionListener<Label> {
private FilterViewModel filterViewModel;
@@ -25,8 +25,8 @@ public class FilterLabelsFragment extends Fragment implements SelectionListener<
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
- final DialogFilterLabelsBinding binding = DialogFilterLabelsBinding.inflate(requireActivity().getLayoutInflater());
- final MainViewModel mainViewModel = new ViewModelProvider(requireActivity()).get(MainViewModel.class);
+ final var binding = DialogFilterLabelsBinding.inflate(requireActivity().getLayoutInflater());
+ final var mainViewModel = new ViewModelProvider(requireActivity()).get(MainViewModel.class);
filterViewModel = new ViewModelProvider(requireActivity()).get(FilterViewModel.class);
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterUserFragment.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterUserFragment.java
index 6ffaec6a6..708e2e541 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterUserFragment.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterUserFragment.java
@@ -1,5 +1,8 @@
package it.niedermann.nextcloud.deck.ui.filter;
+import static java.util.Objects.requireNonNull;
+import static it.niedermann.nextcloud.deck.persistence.sync.adapters.db.util.LiveDataHelper.observeOnce;
+
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
@@ -16,9 +19,6 @@ import it.niedermann.nextcloud.deck.databinding.DialogFilterAssigneesBinding;
import it.niedermann.nextcloud.deck.model.User;
import it.niedermann.nextcloud.deck.ui.MainViewModel;
-import static it.niedermann.nextcloud.deck.persistence.sync.adapters.db.util.LiveDataHelper.observeOnce;
-import static java.util.Objects.requireNonNull;
-
public class FilterUserFragment extends Fragment implements SelectionListener<User> {
private FilterViewModel filterViewModel;
@@ -27,8 +27,8 @@ public class FilterUserFragment extends Fragment implements SelectionListener<Us
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
- final DialogFilterAssigneesBinding binding = DialogFilterAssigneesBinding.inflate(requireActivity().getLayoutInflater());
- final MainViewModel mainViewModel = new ViewModelProvider(requireActivity()).get(MainViewModel.class);
+ final var binding = DialogFilterAssigneesBinding.inflate(requireActivity().getLayoutInflater());
+ final var mainViewModel = new ViewModelProvider(requireActivity()).get(MainViewModel.class);
filterViewModel = new ViewModelProvider(requireActivity()).get(FilterViewModel.class);
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterViewModel.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterViewModel.java
index 7cd3c1c80..acdab52e7 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterViewModel.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterViewModel.java
@@ -1,5 +1,8 @@
package it.niedermann.nextcloud.deck.ui.filter;
+import static androidx.lifecycle.Transformations.distinctUntilChanged;
+import static androidx.lifecycle.Transformations.map;
+
import android.app.Application;
import androidx.annotation.IntRange;
@@ -17,9 +20,6 @@ import it.niedermann.nextcloud.deck.model.enums.EDueType;
import it.niedermann.nextcloud.deck.model.internal.FilterInformation;
import it.niedermann.nextcloud.deck.persistence.sync.SyncManager;
-import static androidx.lifecycle.Transformations.distinctUntilChanged;
-import static androidx.lifecycle.Transformations.map;
-
@SuppressWarnings("WeakerAccess")
public class FilterViewModel extends AndroidViewModel {
@@ -43,7 +43,7 @@ public class FilterViewModel extends AndroidViewModel {
}
public void clearFilterInformation(boolean alsoFilterText) {
- final FilterInformation newFilterInformation = new FilterInformation();
+ final var newFilterInformation = new FilterInformation();
if (alsoFilterText) {
final FilterInformation oldFilterInformation = this.filterInformation.getValue();
newFilterInformation.setFilterText(oldFilterInformation != null ? oldFilterInformation.getFilterText() : "");
@@ -73,43 +73,43 @@ public class FilterViewModel extends AndroidViewModel {
}
public void setFilterInformationDraftDueType(@NonNull EDueType dueType) {
- FilterInformation newDraft = new FilterInformation(filterInformationDraft.getValue());
+ final var newDraft = new FilterInformation(filterInformationDraft.getValue());
newDraft.setDueType(dueType);
this.filterInformationDraft.postValue(newDraft);
}
public void addFilterInformationDraftLabel(@NonNull Label label) {
- FilterInformation newDraft = new FilterInformation(filterInformationDraft.getValue());
+ final var newDraft = new FilterInformation(filterInformationDraft.getValue());
newDraft.addLabel(label);
this.filterInformationDraft.postValue(newDraft);
}
public void addFilterInformationUser(@NonNull User user) {
- FilterInformation newDraft = new FilterInformation(filterInformationDraft.getValue());
+ final var newDraft = new FilterInformation(filterInformationDraft.getValue());
newDraft.addUser(user);
this.filterInformationDraft.postValue(newDraft);
}
public void setNotAssignedUser(boolean notAssignedUser) {
- FilterInformation newDraft = new FilterInformation(filterInformationDraft.getValue());
+ final var newDraft = new FilterInformation(filterInformationDraft.getValue());
newDraft.setNoAssignedUser(notAssignedUser);
this.filterInformationDraft.postValue(newDraft);
}
public void setNotAssignedLabel(boolean notAssignedLabel) {
- FilterInformation newDraft = new FilterInformation(filterInformationDraft.getValue());
+ final var newDraft = new FilterInformation(filterInformationDraft.getValue());
newDraft.setNoAssignedLabel(notAssignedLabel);
this.filterInformationDraft.postValue(newDraft);
}
public void removeFilterInformationLabel(@NonNull Label label) {
- FilterInformation newDraft = new FilterInformation(filterInformationDraft.getValue());
+ final var newDraft = new FilterInformation(filterInformationDraft.getValue());
newDraft.removeLabel(label);
this.filterInformationDraft.postValue(newDraft);
}
public void removeFilterInformationUser(@NonNull User user) {
- FilterInformation newDraft = new FilterInformation(filterInformationDraft.getValue());
+ final var newDraft = new FilterInformation(filterInformationDraft.getValue());
newDraft.removeUser(user);
this.filterInformationDraft.postValue(newDraft);
}
@@ -120,7 +120,7 @@ public class FilterViewModel extends AndroidViewModel {
public void setFilterText(@NonNull String filterText) {
DeckLog.info("New filterText:", filterText);
- FilterInformation newDraft = new FilterInformation(filterInformation.getValue());
+ final var newDraft = new FilterInformation(filterInformation.getValue());
newDraft.setFilterText(filterText);
this.filterInformation.postValue(newDraft);
}
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/manageaccounts/ManageAccountAdapter.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/manageaccounts/ManageAccountAdapter.java
index c316705d0..29c7996c6 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/manageaccounts/ManageAccountAdapter.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/manageaccounts/ManageAccountAdapter.java
@@ -45,7 +45,7 @@ public class ManageAccountAdapter extends RecyclerView.Adapter<ManageAccountView
@Override
public void onBindViewHolder(@NonNull ManageAccountViewHolder holder, int position) {
- final Account account = accounts.get(position);
+ final var account = accounts.get(position);
holder.bind(account, (clickedAccount) -> {
setCurrentAccount(clickedAccount);
onAccountClick.accept(clickedAccount);
@@ -58,7 +58,7 @@ public class ManageAccountAdapter extends RecyclerView.Adapter<ManageAccountView
}
}
- Account newAccount = accounts.size() > 0 ? accounts.get(0) : null;
+ final var newAccount = accounts.size() > 0 ? accounts.get(0) : null;
setCurrentAccount(newAccount);
onAccountDelete.accept(new Pair<>(accountToDelete, newAccount));
}), currentAccount != null && currentAccount.getId().equals(account.getId()));
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/movecard/MoveCardDialogFragment.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/movecard/MoveCardDialogFragment.java
index 442f2c6eb..19fc401c8 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/movecard/MoveCardDialogFragment.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/movecard/MoveCardDialogFragment.java
@@ -1,5 +1,8 @@
package it.niedermann.nextcloud.deck.ui.movecard;
+import static android.view.View.GONE;
+import static android.view.View.VISIBLE;
+
import android.content.Context;
import android.content.res.ColorStateList;
import android.os.Bundle;
@@ -23,9 +26,6 @@ import it.niedermann.nextcloud.deck.ui.pickstack.PickStackFragment;
import it.niedermann.nextcloud.deck.ui.pickstack.PickStackListener;
import it.niedermann.nextcloud.deck.ui.pickstack.PickStackViewModel;
-import static android.view.View.GONE;
-import static android.view.View.VISIBLE;
-
public class MoveCardDialogFragment extends BrandedDialogFragment implements PickStackListener {
private static final String KEY_ORIGIN_ACCOUNT_ID = "account_id";
@@ -119,14 +119,14 @@ public class MoveCardDialogFragment extends BrandedDialogFragment implements Pic
}
public static DialogFragment newInstance(long originAccountId, long originBoardLocalId, String originCardTitle, Long originCardLocalId, boolean hasAttachmentsOrComments) {
- final DialogFragment dialogFragment = new MoveCardDialogFragment();
- final Bundle args = new Bundle();
+ final var fragment = new MoveCardDialogFragment();
+ final var args = new Bundle();
args.putLong(KEY_ORIGIN_ACCOUNT_ID, originAccountId);
args.putLong(KEY_ORIGIN_BOARD_LOCAL_ID, originBoardLocalId);
args.putString(KEY_ORIGIN_CARD_TITLE, originCardTitle);
args.putLong(KEY_ORIGIN_CARD_LOCAL_ID, originCardLocalId);
args.putBoolean(KEY_ORIGIN_CARD_HAS_ATTACHMENTS_OR_COMMENTS, hasAttachmentsOrComments);
- dialogFragment.setArguments(args);
- return dialogFragment;
+ fragment.setArguments(args);
+ return fragment;
}
}
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/pickstack/PickStackFragment.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/pickstack/PickStackFragment.java
index 6408f6b64..ab41e71b5 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/pickstack/PickStackFragment.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/pickstack/PickStackFragment.java
@@ -1,5 +1,10 @@
package it.niedermann.nextcloud.deck.ui.pickstack;
+import static androidx.lifecycle.Transformations.switchMap;
+import static it.niedermann.nextcloud.deck.DeckApplication.readCurrentAccountId;
+import static it.niedermann.nextcloud.deck.DeckApplication.readCurrentBoardId;
+import static it.niedermann.nextcloud.deck.DeckApplication.readCurrentStackId;
+
import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
@@ -26,11 +31,6 @@ import it.niedermann.nextcloud.deck.ui.preparecreate.BoardAdapter;
import it.niedermann.nextcloud.deck.ui.preparecreate.SelectedListener;
import it.niedermann.nextcloud.deck.ui.preparecreate.StackAdapter;
-import static androidx.lifecycle.Transformations.switchMap;
-import static it.niedermann.nextcloud.deck.DeckApplication.readCurrentAccountId;
-import static it.niedermann.nextcloud.deck.DeckApplication.readCurrentBoardId;
-import static it.niedermann.nextcloud.deck.DeckApplication.readCurrentStackId;
-
public class PickStackFragment extends Fragment {
private FragmentPickStackBinding binding;
@@ -52,7 +52,7 @@ public class PickStackFragment extends Fragment {
@Nullable
private LiveData<List<Board>> boardsLiveData;
@NonNull
- private Observer<List<Board>> boardsObserver = (boards) -> {
+ private final Observer<List<Board>> boardsObserver = (boards) -> {
boardAdapter.clear();
boardAdapter.addAll(boards);
binding.boardSelect.setEnabled(true);
@@ -61,7 +61,7 @@ public class PickStackFragment extends Fragment {
binding.boardSelect.setEnabled(true);
Board boardToSelect = null;
- for (Board board : boards) {
+ for (final var board : boards) {
if (board.getLocalId() == lastBoardId) {
boardToSelect = board;
break;
@@ -88,7 +88,7 @@ public class PickStackFragment extends Fragment {
binding.stackSelect.setEnabled(true);
Stack stackToSelect = null;
- for (Stack stack : stacks) {
+ for (final var stack : stacks) {
if (stack.getLocalId() == lastStackId) {
stackToSelect = stack;
break;
@@ -114,7 +114,7 @@ public class PickStackFragment extends Fragment {
} else {
throw new IllegalArgumentException("Caller must implement " + PickStackListener.class.getSimpleName());
}
- final Bundle args = getArguments();
+ final var args = getArguments();
if (args != null) {
this.showBoardsWithoutEditPermission = args.getBoolean(KEY_SHOW_BOARDS_WITHOUT_EDIT_PERMISSION, false);
}
@@ -194,8 +194,8 @@ public class PickStackFragment extends Fragment {
}
public static PickStackFragment newInstance(boolean showBoardsWithoutEditPermission) {
- final PickStackFragment fragment = new PickStackFragment();
- final Bundle args = new Bundle();
+ final var fragment = new PickStackFragment();
+ final var args = new Bundle();
args.putBoolean(KEY_SHOW_BOARDS_WITHOUT_EDIT_PERMISSION, showBoardsWithoutEditPermission);
fragment.setArguments(args);
return fragment;
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/preparecreate/AccountAdapter.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/preparecreate/AccountAdapter.java
index 9534b51b4..4905909f0 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/preparecreate/AccountAdapter.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/preparecreate/AccountAdapter.java
@@ -40,7 +40,7 @@ public class AccountAdapter extends AbstractAdapter<Account> {
binding = ItemPrepareCreateAccountBinding.bind(convertView);
}
- final Account item = getItem(position);
+ final var item = getItem(position);
if (item != null) {
binding.username.setText(item.getUserName());
try {
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/preparecreate/BoardAdapter.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/preparecreate/BoardAdapter.java
index c27fa04ee..e0a7c68c0 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/preparecreate/BoardAdapter.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/preparecreate/BoardAdapter.java
@@ -34,10 +34,10 @@ public class BoardAdapter extends AbstractAdapter<Board> {
binding = ItemPrepareCreateBoardBinding.bind(convertView);
}
- final Board item = getItem(position);
- if (item != null) {
- binding.boardTitle.setText(item.getTitle());
- binding.avatar.setImageDrawable(ViewUtil.getTintedImageView(binding.avatar.getContext(), R.drawable.circle_grey600_36dp, item.getColor()));
+ final var board = getItem(position);
+ if (board != null) {
+ binding.boardTitle.setText(board.getTitle());
+ binding.avatar.setImageDrawable(ViewUtil.getTintedImageView(binding.avatar.getContext(), R.drawable.circle_grey600_36dp, board.getColor()));
} else {
DeckLog.logError(new IllegalArgumentException("No item for position " + position));
}
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/preparecreate/PrepareCreateActivity.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/preparecreate/PrepareCreateActivity.java
index ccb7c8a38..0557001b7 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/preparecreate/PrepareCreateActivity.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/preparecreate/PrepareCreateActivity.java
@@ -1,5 +1,9 @@
package it.niedermann.nextcloud.deck.ui.preparecreate;
+import static it.niedermann.nextcloud.deck.DeckApplication.saveCurrentAccount;
+import static it.niedermann.nextcloud.deck.DeckApplication.saveCurrentBoardId;
+import static it.niedermann.nextcloud.deck.DeckApplication.saveCurrentStackId;
+
import android.annotation.SuppressLint;
import android.content.Intent;
import android.os.Bundle;
@@ -8,7 +12,6 @@ import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
-import androidx.appcompat.app.ActionBar;
import androidx.lifecycle.ViewModelProvider;
import it.niedermann.nextcloud.deck.R;
@@ -18,10 +21,6 @@ import it.niedermann.nextcloud.deck.model.full.FullCard;
import it.niedermann.nextcloud.deck.ui.PickStackActivity;
import it.niedermann.nextcloud.deck.ui.card.EditActivity;
-import static it.niedermann.nextcloud.deck.DeckApplication.saveCurrentAccount;
-import static it.niedermann.nextcloud.deck.DeckApplication.saveCurrentBoardId;
-import static it.niedermann.nextcloud.deck.DeckApplication.saveCurrentStackId;
-
public class PrepareCreateActivity extends PickStackActivity {
private PrepareCreateViewModel viewModel;
@@ -29,7 +28,7 @@ public class PrepareCreateActivity extends PickStackActivity {
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- final ActionBar actionBar = getSupportActionBar();
+ final var actionBar = getSupportActionBar();
if (actionBar != null) {
actionBar.setTitle(R.string.add_card);
}
@@ -83,7 +82,7 @@ public class PrepareCreateActivity extends PickStackActivity {
@Override
protected boolean requireContent() {
- final Intent intent = getIntent();
+ final var intent = getIntent();
return intent == null || (TextUtils.isEmpty(intent.getStringExtra(Intent.EXTRA_SUBJECT)) &&
TextUtils.isEmpty(intent.getStringExtra(Intent.EXTRA_TITLE)) &&
TextUtils.isEmpty(intent.getStringExtra(Intent.EXTRA_TEXT)));
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/preparecreate/PrepareCreateViewModel.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/preparecreate/PrepareCreateViewModel.java
index 1ce61f380..aef37bbcd 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/preparecreate/PrepareCreateViewModel.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/preparecreate/PrepareCreateViewModel.java
@@ -63,8 +63,8 @@ public class PrepareCreateViewModel extends AndroidViewModel {
public FullCard createFullCard(@NonNull Version version, @NonNull String title, @NonNull String description) {
if (!TextUtils.isEmpty(title) && !TextUtils.isEmpty(description)) {
- final FullCard fullCard = new FullCard();
- final Card card = new Card();
+ final var fullCard = new FullCard();
+ final var card = new Card();
final int maxLength = version.getCardTitleMaxLength();
if (title.length() > maxLength) {
card.setTitle(title.substring(0, maxLength));
@@ -88,8 +88,8 @@ public class PrepareCreateViewModel extends AndroidViewModel {
if (TextUtils.isEmpty(content)) {
throw new IllegalArgumentException("Content must not be empty.");
}
- final FullCard fullCard = new FullCard();
- final Card card = new Card();
+ final var fullCard = new FullCard();
+ final var card = new Card();
final int maxLength = version.getCardTitleMaxLength();
if (content.length() > maxLength) {
card.setTitle(content.substring(0, maxLength).trim());
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/settings/SettingsActivity.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/settings/SettingsActivity.java
index db0c4147c..f41a7592a 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/settings/SettingsActivity.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/settings/SettingsActivity.java
@@ -19,7 +19,7 @@ public class SettingsActivity extends AppCompatActivity {
super.onCreate(savedInstanceState);
Thread.currentThread().setUncaughtExceptionHandler(new ExceptionHandler(this));
- final ActivitySettingsBinding binding = ActivitySettingsBinding.inflate(getLayoutInflater());
+ final var binding = ActivitySettingsBinding.inflate(getLayoutInflater());
setContentView(binding.getRoot());
setSupportActionBar(binding.toolbar);
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/settings/SettingsFragment.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/settings/SettingsFragment.java
index e378c96d1..b4b91a2cb 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/settings/SettingsFragment.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/settings/SettingsFragment.java
@@ -1,5 +1,7 @@
package it.niedermann.nextcloud.deck.ui.settings;
+import static it.niedermann.nextcloud.deck.DeckApplication.setAppTheme;
+
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
@@ -7,7 +9,6 @@ import android.view.View;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.app.ActivityCompat;
-import androidx.preference.ListPreference;
import androidx.preference.Preference;
import androidx.preference.PreferenceFragmentCompat;
@@ -17,8 +18,6 @@ import it.niedermann.nextcloud.deck.R;
import it.niedermann.nextcloud.deck.persistence.sync.SyncWorker;
import it.niedermann.nextcloud.deck.ui.branding.BrandedSwitchPreference;
-import static it.niedermann.nextcloud.deck.DeckApplication.setAppTheme;
-
public class SettingsFragment extends PreferenceFragmentCompat {
private BrandedSwitchPreference wifiOnlyPref;
@@ -49,7 +48,7 @@ public class SettingsFragment extends PreferenceFragmentCompat {
DeckLog.error("Could not find preference with key:", getString(R.string.pref_key_debugging));
}
- final ListPreference backgroundSyncPref = findPreference(getString(R.string.pref_key_background_sync));
+ final var backgroundSyncPref = findPreference(getString(R.string.pref_key_background_sync));
if (backgroundSyncPref != null) {
backgroundSyncPref.setOnPreferenceChangeListener((Preference preference, Object newValue) -> {
SyncWorker.update(requireContext().getApplicationContext(), (String) newValue);
@@ -59,7 +58,7 @@ public class SettingsFragment extends PreferenceFragmentCompat {
DeckLog.error("Could not find preference with key", getString(R.string.pref_key_background_sync));
}
- final Preference themePref = findPreference(getString(R.string.pref_key_dark_theme));
+ final var themePref = findPreference(getString(R.string.pref_key_dark_theme));
if (themePref != null) {
themePref.setOnPreferenceChangeListener((Preference preference, Object newValue) -> {
setAppTheme(Integer.parseInt((String) newValue));
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/sharetarget/ShareProgressDialogFragment.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/sharetarget/ShareProgressDialogFragment.java
index 3028ea952..fc093c471 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/sharetarget/ShareProgressDialogFragment.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/sharetarget/ShareProgressDialogFragment.java
@@ -1,5 +1,8 @@
package it.niedermann.nextcloud.deck.ui.sharetarget;
+import static android.graphics.PorterDuff.Mode;
+import static it.niedermann.nextcloud.deck.ui.branding.BrandingUtil.getSecondaryForegroundColorDependingOnTheme;
+
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
@@ -22,9 +25,6 @@ import it.niedermann.nextcloud.deck.ui.branding.BrandedDialogFragment;
import it.niedermann.nextcloud.deck.ui.exception.ExceptionDialogFragment;
import it.niedermann.nextcloud.exception.ExceptionUtil;
-import static android.graphics.PorterDuff.Mode;
-import static it.niedermann.nextcloud.deck.ui.branding.BrandingUtil.getSecondaryForegroundColorDependingOnTheme;
-
public class ShareProgressDialogFragment extends BrandedDialogFragment {
private DialogShareProgressBinding binding;
@@ -85,7 +85,7 @@ public class ShareProgressDialogFragment extends BrandedDialogFragment {
viewModel.getDuplicateAttachments().observe(requireActivity(), (duplicates) -> {
final int duplicatesCount = duplicates.size();
if (duplicatesCount > 0) {
- final LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT, 1f);
+ final var params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT, 1f);
binding.duplicates.removeAllViews();
for (String duplicate : duplicates) {
TextView duplicateEntry = new TextView(requireContext());
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/sharetarget/ShareProgressViewModel.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/sharetarget/ShareProgressViewModel.java
index f30a3bcf4..6a2a1d0b7 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/sharetarget/ShareProgressViewModel.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/sharetarget/ShareProgressViewModel.java
@@ -15,13 +15,13 @@ public class ShareProgressViewModel extends ViewModel {
@NonNull
public String targetCardTitle = "";
@NonNull
- private MutableLiveData<List<Throwable>> exceptions = new MutableLiveData<>(new ArrayList<>());
+ private final MutableLiveData<List<Throwable>> exceptions = new MutableLiveData<>(new ArrayList<>());
@NonNull
- private MutableLiveData<List<String>> duplicateAttachments = new MutableLiveData<>(new ArrayList<>());
+ private final MutableLiveData<List<String>> duplicateAttachments = new MutableLiveData<>(new ArrayList<>());
@NonNull
- private MutableLiveData<Integer> max = new MutableLiveData<>();
+ private final MutableLiveData<Integer> max = new MutableLiveData<>();
@NonNull
- private MutableLiveData<Integer> progress = new MutableLiveData<>(0);
+ private final MutableLiveData<Integer> progress = new MutableLiveData<>(0);
public void setMax(int max) {
this.max.setValue(max);
@@ -36,7 +36,7 @@ public class ShareProgressViewModel extends ViewModel {
}
public void increaseProgress() {
- final Integer currentValue = this.progress.getValue();
+ final var currentValue = this.progress.getValue();
if (currentValue == null) {
this.progress.setValue(0);
} else {
@@ -49,7 +49,7 @@ public class ShareProgressViewModel extends ViewModel {
}
public void addDuplicateAttachment(String fileName) {
- List<String> fileNames = this.duplicateAttachments.getValue();
+ var fileNames = this.duplicateAttachments.getValue();
if (fileNames == null) {
fileNames = new ArrayList<>();
}
@@ -59,7 +59,7 @@ public class ShareProgressViewModel extends ViewModel {
}
public boolean hasAlreadyDuplicateAttachments() {
- List<String> duplicateAttachments = this.duplicateAttachments.getValue();
+ final var duplicateAttachments = this.duplicateAttachments.getValue();
if (duplicateAttachments == null) {
return false;
}
@@ -72,7 +72,7 @@ public class ShareProgressViewModel extends ViewModel {
public void addException(Throwable exception) {
DeckLog.logError(exception);
- List<Throwable> exceptionList = this.exceptions.getValue();
+ var exceptionList = this.exceptions.getValue();
if (exceptionList == null) {
exceptionList = new ArrayList<>();
}
@@ -82,7 +82,7 @@ public class ShareProgressViewModel extends ViewModel {
}
public boolean hasExceptions() {
- List<Throwable> exceptions = this.exceptions.getValue();
+ final var exceptions = this.exceptions.getValue();
if (exceptions == null) {
return false;
}
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/sharetarget/ShareTargetActivity.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/sharetarget/ShareTargetActivity.java
index 2f21eb0b3..450450fe6 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/sharetarget/ShareTargetActivity.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/sharetarget/ShareTargetActivity.java
@@ -1,5 +1,8 @@
package it.niedermann.nextcloud.deck.ui.sharetarget;
+import static java.net.HttpURLConnection.HTTP_CONFLICT;
+import static it.niedermann.nextcloud.deck.util.FilesUtil.copyContentUriToTempFile;
+
import android.content.ContentResolver;
import android.content.Intent;
import android.net.Uri;
@@ -26,7 +29,6 @@ import it.niedermann.nextcloud.deck.DeckLog;
import it.niedermann.nextcloud.deck.R;
import it.niedermann.nextcloud.deck.api.IResponseCallback;
import it.niedermann.nextcloud.deck.exceptions.UploadAttachmentFailedException;
-import it.niedermann.nextcloud.deck.model.Account;
import it.niedermann.nextcloud.deck.model.Attachment;
import it.niedermann.nextcloud.deck.model.Board;
import it.niedermann.nextcloud.deck.model.full.FullCard;
@@ -36,9 +38,6 @@ import it.niedermann.nextcloud.deck.ui.card.SelectCardListener;
import it.niedermann.nextcloud.deck.ui.exception.ExceptionDialogFragment;
import it.niedermann.nextcloud.deck.util.MimeTypeUtil;
-import static it.niedermann.nextcloud.deck.util.FilesUtil.copyContentUriToTempFile;
-import static java.net.HttpURLConnection.HTTP_CONFLICT;
-
public class ShareTargetActivity extends MainActivity implements SelectCardListener {
private boolean isFile;
@@ -102,7 +101,7 @@ public class ShareTargetActivity extends MainActivity implements SelectCardListe
private void appendFilesAndFinish(@NonNull FullCard fullCard) {
ShareProgressDialogFragment.newInstance().show(getSupportFragmentManager(), ShareProgressDialogFragment.class.getSimpleName());
- final ShareProgressViewModel shareProgressViewModel = new ViewModelProvider(this).get(ShareProgressViewModel.class);
+ final var shareProgressViewModel = new ViewModelProvider(this).get(ShareProgressViewModel.class);
shareProgressViewModel.setMax(mStreamsToUpload.size());
shareProgressViewModel.targetCardTitle = fullCard.getCard().getTitle();
@@ -150,10 +149,10 @@ public class ShareTargetActivity extends MainActivity implements SelectCardListe
}
private void appendTextAndFinish(@NonNull FullCard fullCard, @NonNull String receivedText) {
- final String[] animals = {getString(R.string.append_text_to_description), getString(R.string.add_text_as_comment)};
+ final String[] targets = {getString(R.string.append_text_to_description), getString(R.string.add_text_as_comment)};
new AlertDialog.Builder(this)
.setOnCancelListener(dialog -> cardSelected = false)
- .setItems(animals, (dialog, which) -> {
+ .setItems(targets, (dialog, which) -> {
switch (which) {
case 0:
final String oldDescription = fullCard.getCard().getDescription();
@@ -181,8 +180,8 @@ public class ShareTargetActivity extends MainActivity implements SelectCardListe
});
break;
case 1:
- final Account currentAccount = mainViewModel.getCurrentAccount();
- final DeckComment comment = new DeckComment(receivedText.trim(), currentAccount.getUserName(), Instant.now());
+ final var currentAccount = mainViewModel.getCurrentAccount();
+ final var comment = new DeckComment(receivedText.trim(), currentAccount.getUserName(), Instant.now());
mainViewModel.addCommentToCard(currentAccount.getId(), fullCard.getLocalId(), comment);
Toast.makeText(getApplicationContext(), getString(R.string.share_success, "\"" + receivedText + "\"", "\"" + fullCard.getCard().getTitle() + "\""), Toast.LENGTH_LONG).show();
finish();
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/stack/DeleteStackDialogFragment.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/stack/DeleteStackDialogFragment.java
index f32be185a..6594ccc0f 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/stack/DeleteStackDialogFragment.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/stack/DeleteStackDialogFragment.java
@@ -5,7 +5,6 @@ import android.content.Context;
import android.os.Bundle;
import androidx.annotation.NonNull;
-import androidx.appcompat.app.AlertDialog;
import androidx.fragment.app.DialogFragment;
import it.niedermann.nextcloud.deck.R;
@@ -42,18 +41,18 @@ public class DeleteStackDialogFragment extends DialogFragment {
@NonNull
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
- AlertDialog.Builder builder = new DeleteAlertDialogBuilder(requireContext())
+ return new DeleteAlertDialogBuilder(requireContext())
.setTitle(R.string.delete_list)
.setMessage(getResources().getQuantityString(R.plurals.do_you_want_to_delete_the_current_list, numberCards, numberCards))
.setPositiveButton(R.string.simple_delete, (dialog, whichButton) -> deleteStackListener.onStackDeleted(stackId))
- .setNeutralButton(android.R.string.cancel, null);
- return builder.create();
+ .setNeutralButton(android.R.string.cancel, null)
+ .create();
}
public static DialogFragment newInstance(long stackId, int numberCards) {
- DeleteStackDialogFragment dialog = new DeleteStackDialogFragment();
+ final var dialog = new DeleteStackDialogFragment();
- Bundle args = new Bundle();
+ final var args = new Bundle();
args.putLong(KEY_STACK_ID, stackId);
args.putInt(KEY_NUMBER_CARDS, numberCards);
dialog.setArguments(args);
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/stack/EditStackDialogFragment.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/stack/EditStackDialogFragment.java
index 2464fb0c3..897969671 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/stack/EditStackDialogFragment.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/stack/EditStackDialogFragment.java
@@ -1,5 +1,7 @@
package it.niedermann.nextcloud.deck.ui.stack;
+import static it.niedermann.nextcloud.deck.ui.branding.BrandingUtil.applyBrandToEditTextInputLayout;
+
import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
@@ -19,8 +21,6 @@ import it.niedermann.nextcloud.deck.R;
import it.niedermann.nextcloud.deck.databinding.DialogStackCreateBinding;
import it.niedermann.nextcloud.deck.ui.branding.BrandedDialogFragment;
-import static it.niedermann.nextcloud.deck.ui.branding.BrandingUtil.applyBrandToEditTextInputLayout;
-
public class EditStackDialogFragment extends BrandedDialogFragment {
private static final String KEY_STACK_ID = "stack_id";
private static final String KEY_OLD_TITLE = "old_title";
@@ -43,10 +43,10 @@ public class EditStackDialogFragment extends BrandedDialogFragment {
public Dialog onCreateDialog(Bundle savedInstanceState) {
binding = DialogStackCreateBinding.inflate(requireActivity().getLayoutInflater());
- final AlertDialog.Builder builder = new AlertDialog.Builder(requireActivity())
+ final var builder = new AlertDialog.Builder(requireActivity())
.setView(binding.getRoot())
.setNeutralButton(android.R.string.cancel, null);
- final Bundle args = getArguments();
+ final var args = getArguments();
if (args == null) {
builder.setTitle(R.string.add_list)
.setPositiveButton(R.string.simple_add, (dialog, which) -> editStackListener.onCreateStack(binding.input.getText().toString()));
@@ -71,9 +71,9 @@ public class EditStackDialogFragment extends BrandedDialogFragment {
}
public static DialogFragment newInstance(long stackId, @Nullable String oldTitle) {
- final DialogFragment dialog = new EditStackDialogFragment();
+ final var dialog = new EditStackDialogFragment();
- final Bundle args = new Bundle();
+ final var args = new Bundle();
args.putLong(KEY_STACK_ID, stackId);
args.putString(KEY_OLD_TITLE, oldTitle);
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/stack/StackAdapter.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/stack/StackAdapter.java
index 9bd260206..4a26164dd 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/stack/StackAdapter.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/stack/StackAdapter.java
@@ -64,7 +64,7 @@ public class StackAdapter extends FragmentStateAdapter {
@Override
public boolean containsItem(long itemId) {
- for (Stack stack : stackList) {
+ for (final var stack : stackList) {
if (stack.getLocalId() == itemId) {
return true;
}
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/stack/StackFragment.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/stack/StackFragment.java
index 7d5a6c4d5..93ebd0093 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/stack/StackFragment.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/stack/StackFragment.java
@@ -52,8 +52,8 @@ public class StackFragment extends Fragment implements DragAndDropTab<CardAdapte
public void onAttach(@NonNull Context context) {
super.onAttach(context);
- final Bundle args = getArguments();
- if (args == null || !args.containsKey(KEY_STACK_ID)) {
+ final var args = requireArguments();
+ if (!args.containsKey(KEY_STACK_ID)) {
throw new IllegalArgumentException(KEY_STACK_ID + " is required.");
}
@@ -70,7 +70,7 @@ public class StackFragment extends Fragment implements DragAndDropTab<CardAdapte
binding = FragmentStackBinding.inflate(inflater, container, false);
mainViewModel = new ViewModelProvider(activity).get(MainViewModel.class);
- final FilterViewModel filterViewModel = new ViewModelProvider(activity).get(FilterViewModel.class);
+ final var filterViewModel = new ViewModelProvider(activity).get(FilterViewModel.class);
// This might be a zombie fragment with an empty MainViewModel after Android killed the activity (but not the fragment instance
// See https://github.com/stefan-niedermann/nextcloud-deck/issues/478
@@ -148,10 +148,10 @@ public class StackFragment extends Fragment implements DragAndDropTab<CardAdapte
}
public static Fragment newInstance(long stackId) {
- final Bundle args = new Bundle();
- args.putLong(KEY_STACK_ID, stackId);
+ final var fragment = new StackFragment();
- final StackFragment fragment = new StackFragment();
+ final var args = new Bundle();
+ args.putLong(KEY_STACK_ID, stackId);
fragment.setArguments(args);
return fragment;
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/takephoto/TakePhotoActivity.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/takephoto/TakePhotoActivity.java
index 78a9319d0..0bfddd76d 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/takephoto/TakePhotoActivity.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/takephoto/TakePhotoActivity.java
@@ -1,5 +1,7 @@
package it.niedermann.nextcloud.deck.ui.takephoto;
+import static it.niedermann.nextcloud.deck.util.MimeTypeUtil.IMAGE_JPEG;
+
import android.content.Context;
import android.content.Intent;
import android.content.res.ColorStateList;
@@ -14,7 +16,6 @@ import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
-import androidx.camera.core.Camera;
import androidx.camera.core.ImageCapture;
import androidx.camera.core.ImageCaptureException;
import androidx.camera.core.Preview;
@@ -37,8 +38,6 @@ import it.niedermann.nextcloud.deck.ui.exception.ExceptionDialogFragment;
import it.niedermann.nextcloud.deck.ui.exception.ExceptionHandler;
import it.niedermann.nextcloud.deck.util.FilesUtil;
-import static it.niedermann.nextcloud.deck.util.MimeTypeUtil.IMAGE_JPEG;
-
public class TakePhotoActivity extends AppCompatActivity {
private ActivityTakePhotoBinding binding;
@@ -68,10 +67,10 @@ public class TakePhotoActivity extends AppCompatActivity {
cameraProviderFuture = ProcessCameraProvider.getInstance(this);
cameraProviderFuture.addListener(() -> {
try {
- final ProcessCameraProvider cameraProvider = cameraProviderFuture.get();
- final Preview previewUseCase = getPreviewUseCase();
- final ImageCapture captureUseCase = getCaptureUseCase();
- final Camera camera = cameraProvider.bindToLifecycle(this, viewModel.getCameraSelector(), captureUseCase, previewUseCase);
+ final var cameraProvider = cameraProviderFuture.get();
+ final var previewUseCase = getPreviewUseCase();
+ final var captureUseCase = getCaptureUseCase();
+ final var camera = cameraProvider.bindToLifecycle(this, viewModel.getCameraSelector(), captureUseCase, previewUseCase);
viewModel.getCameraSelectorToggleButtonImageResource().observe(this, res -> binding.switchCamera.setImageDrawable(ContextCompat.getDrawable(this, res)));
viewModel.getTorchToggleButtonImageResource().observe(this, res -> binding.toggleTorch.setImageDrawable(ContextCompat.getDrawable(this, res)));
@@ -149,7 +148,7 @@ public class TakePhotoActivity extends AppCompatActivity {
}
private Preview getPreviewUseCase() {
- Preview previewUseCase = new Preview.Builder().build();
+ final var previewUseCase = new Preview.Builder().build();
previewUseCase.setSurfaceProvider(binding.preview.getSurfaceProvider());
return previewUseCase;
}
@@ -175,9 +174,9 @@ public class TakePhotoActivity extends AppCompatActivity {
}
private void applyBoardColorBrand(int mainColor) {
- final ColorStateList colorStateList = ColorStateList.valueOf(mainColor);
- for (View v : brandedViews) {
- v.setBackgroundTintList(colorStateList);
+ final var colorStateList = ColorStateList.valueOf(mainColor);
+ for (final var view : brandedViews) {
+ view.setBackgroundTintList(colorStateList);
}
}
}
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/takephoto/TakePhotoViewModel.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/takephoto/TakePhotoViewModel.java
index a71291ff2..cadc02687 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/takephoto/TakePhotoViewModel.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/takephoto/TakePhotoViewModel.java
@@ -1,17 +1,17 @@
package it.niedermann.nextcloud.deck.ui.takephoto;
+import static androidx.camera.core.CameraSelector.DEFAULT_BACK_CAMERA;
+import static androidx.camera.core.CameraSelector.DEFAULT_FRONT_CAMERA;
+import static androidx.lifecycle.Transformations.map;
+
import androidx.annotation.NonNull;
import androidx.camera.core.CameraSelector;
import androidx.lifecycle.LiveData;
import androidx.lifecycle.MutableLiveData;
-import androidx.lifecycle.Transformations;
import androidx.lifecycle.ViewModel;
import it.niedermann.nextcloud.deck.R;
-import static androidx.camera.core.CameraSelector.DEFAULT_BACK_CAMERA;
-import static androidx.camera.core.CameraSelector.DEFAULT_FRONT_CAMERA;
-
public class TakePhotoViewModel extends ViewModel {
@NonNull
@@ -50,7 +50,7 @@ public class TakePhotoViewModel extends ViewModel {
}
public LiveData<Integer> getTorchToggleButtonImageResource() {
- return Transformations.map(isTorchEnabled(), enabled -> enabled
+ return map(isTorchEnabled(), enabled -> enabled
? R.drawable.ic_baseline_flash_off_24
: R.drawable.ic_baseline_flash_on_24);
}
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/tiles/EditCardTileService.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/tiles/EditCardTileService.java
index 09abbfa7a..ad691c943 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/tiles/EditCardTileService.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/tiles/EditCardTileService.java
@@ -13,14 +13,14 @@ public class EditCardTileService extends TileService {
@Override
public void onStartListening() {
- Tile tile = getQsTile();
+ final var tile = getQsTile();
tile.setState(Tile.STATE_ACTIVE);
tile.updateTile();
}
@Override
public void onClick() {
- Intent intent = new Intent(getApplicationContext(), PrepareCreateActivity.class);
+ final var intent = new Intent(getApplicationContext(), PrepareCreateActivity.class);
// ensure it won't open twice if already running
intent.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/nextcloud/deck/ui/upcomingcards/UpcomingCardsActivity.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/upcomingcards/UpcomingCardsActivity.java
index 41e2e9f24..e5f9297fd 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/upcomingcards/UpcomingCardsActivity.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/upcomingcards/UpcomingCardsActivity.java
@@ -31,7 +31,7 @@ public class UpcomingCardsActivity extends AppCompatActivity implements MoveCard
Thread.setDefaultUncaughtExceptionHandler(new ExceptionHandler(this));
- final ActivityUpcomingCardsBinding binding = ActivityUpcomingCardsBinding.inflate(getLayoutInflater());
+ final var binding = ActivityUpcomingCardsBinding.inflate(getLayoutInflater());
viewModel = new ViewModelProvider(this).get(UpcomingCardsViewModel.class);
setContentView(binding.getRoot());
@@ -39,7 +39,7 @@ public class UpcomingCardsActivity extends AppCompatActivity implements MoveCard
binding.loadingSpinner.show();
- final UpcomingCardsAdapter adapter = new UpcomingCardsAdapter(this, getSupportFragmentManager(),
+ final var adapter = new UpcomingCardsAdapter(this, getSupportFragmentManager(),
viewModel::assignUser,
viewModel::unassignUser,
(fullCard) -> viewModel.archiveCard(fullCard, new IResponseCallback<FullCard>() {
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/upcomingcards/UpcomingCardsAdapter.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/upcomingcards/UpcomingCardsAdapter.java
index 212fe5747..7f1c64ad6 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/upcomingcards/UpcomingCardsAdapter.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/upcomingcards/UpcomingCardsAdapter.java
@@ -1,5 +1,7 @@
package it.niedermann.nextcloud.deck.ui.upcomingcards;
+import static androidx.preference.PreferenceManager.getDefaultSharedPreferences;
+
import android.app.Activity;
import android.view.LayoutInflater;
import android.view.ViewGroup;
@@ -31,8 +33,6 @@ import it.niedermann.nextcloud.deck.ui.card.DefaultCardOnlyTitleViewHolder;
import it.niedermann.nextcloud.deck.ui.card.DefaultCardViewHolder;
import it.niedermann.nextcloud.deck.ui.card.EditActivity;
-import static androidx.preference.PreferenceManager.getDefaultSharedPreferences;
-
public class UpcomingCardsAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
private final boolean compactMode;
@@ -78,7 +78,7 @@ public class UpcomingCardsAdapter extends RecyclerView.Adapter<RecyclerView.View
@Override
public long getItemId(int position) {
- final Object item = items.get(position);
+ final var item = items.get(position);
if (item.getClass() == UpcomingCardsAdapterSectionItem.class || item instanceof UpcomingCardsAdapterSectionItem) {
return items
.stream()
@@ -107,14 +107,14 @@ public class UpcomingCardsAdapter extends RecyclerView.Adapter<RecyclerView.View
@Override
public int getItemViewType(int position) {
- final Object item = items.get(position);
+ final var item = items.get(position);
if (item.getClass() == UpcomingCardsAdapterSectionItem.class || item instanceof UpcomingCardsAdapterSectionItem) {
return R.layout.item_section;
} else if (item.getClass() == UpcomingCardsAdapterItem.class || item instanceof UpcomingCardsAdapterItem) {
if (compactMode) {
return R.layout.item_card_compact;
} else {
- final FullCard fullCard = ((UpcomingCardsAdapterItem) item).getFullCard();
+ final var fullCard = ((UpcomingCardsAdapterItem) item).getFullCard();
if (fullCard.getAttachments().size() == 0
&& fullCard.getAssignedUsers().size() == 0
&& fullCard.getLabels().size() == 0
@@ -134,16 +134,15 @@ public class UpcomingCardsAdapter extends RecyclerView.Adapter<RecyclerView.View
final Object item = items.get(position);
if (item.getClass() == UpcomingCardsAdapterSectionItem.class || item instanceof UpcomingCardsAdapterSectionItem) {
if (viewHolder.getClass() == UpcomingCardsSectionViewHolder.class || viewHolder instanceof UpcomingCardsSectionViewHolder) {
- final UpcomingCardsAdapterSectionItem cardItem = (UpcomingCardsAdapterSectionItem) item;
+ final var cardItem = (UpcomingCardsAdapterSectionItem) item;
((UpcomingCardsSectionViewHolder) viewHolder).bind(cardItem.getTitle());
} else {
throw new IllegalStateException("Item at position " + position + " is a " + item.getClass().getSimpleName() + " but viewHolder is no " + UpcomingCardsSectionViewHolder.class.getSimpleName());
}
} else if (item.getClass() == UpcomingCardsAdapterItem.class || item instanceof UpcomingCardsAdapterItem) {
- viewHolder.getClass();
if (viewHolder instanceof AbstractCardViewHolder) {
- final UpcomingCardsAdapterItem cardItem = (UpcomingCardsAdapterItem) item;
- AbstractCardViewHolder cardViewHolder = ((AbstractCardViewHolder) viewHolder);
+ final var cardItem = (UpcomingCardsAdapterItem) item;
+ final var cardViewHolder = ((AbstractCardViewHolder) viewHolder);
cardViewHolder.bind(cardItem.getFullCard(), cardItem.getAccount(), cardItem.getCurrentBoardRemoteId(), cardItem.currentBoardHasEditPermission(), R.menu.card_menu,
new UpcomingCardsOptionsItemSelectedListener(
cardItem.getAccount(),
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/upcomingcards/UpcomingCardsOptionsItemSelectedListener.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/upcomingcards/UpcomingCardsOptionsItemSelectedListener.java
index 403292840..b5c0dd3be 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/upcomingcards/UpcomingCardsOptionsItemSelectedListener.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/upcomingcards/UpcomingCardsOptionsItemSelectedListener.java
@@ -1,5 +1,7 @@
package it.niedermann.nextcloud.deck.ui.upcomingcards;
+import static it.niedermann.nextcloud.deck.util.MimeTypeUtil.TEXT_PLAIN;
+
import android.app.Activity;
import android.content.Intent;
import android.view.MenuItem;
@@ -20,8 +22,6 @@ import it.niedermann.nextcloud.deck.ui.card.CardOptionsItemSelectedListener;
import it.niedermann.nextcloud.deck.ui.movecard.MoveCardDialogFragment;
import it.niedermann.nextcloud.deck.util.CardUtil;
-import static it.niedermann.nextcloud.deck.util.MimeTypeUtil.TEXT_PLAIN;
-
public class UpcomingCardsOptionsItemSelectedListener implements CardOptionsItemSelectedListener {
@NonNull
private final Account account;
@@ -66,7 +66,7 @@ public class UpcomingCardsOptionsItemSelectedListener implements CardOptionsItem
public boolean onCardOptionsItemSelected(@NonNull MenuItem menuItem, @NonNull FullCard fullCard) {
final int itemId = menuItem.getItemId();
if (itemId == R.id.share_link) {
- final Intent shareIntent = new Intent()
+ final var shareIntent = new Intent()
.setAction(Intent.ACTION_SEND)
.setType(TEXT_PLAIN)
.putExtra(Intent.EXTRA_SUBJECT, fullCard.getCard().getTitle())
@@ -75,7 +75,7 @@ public class UpcomingCardsOptionsItemSelectedListener implements CardOptionsItem
activity.startActivity(Intent.createChooser(shareIntent, fullCard.getCard().getTitle()));
return true;
} else if (itemId == R.id.share_content) {
- final Intent shareIntent = new Intent()
+ final var shareIntent = new Intent()
.setAction(Intent.ACTION_SEND)
.setType(TEXT_PLAIN)
.putExtra(Intent.EXTRA_SUBJECT, fullCard.getCard().getTitle())
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/view/ColorChooser.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/view/ColorChooser.java
index 0dd431ff9..8345e63b9 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/view/ColorChooser.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/view/ColorChooser.java
@@ -1,7 +1,6 @@
package it.niedermann.nextcloud.deck.ui.view;
import android.content.Context;
-import android.content.res.TypedArray;
import android.graphics.Color;
import android.util.AttributeSet;
import android.view.LayoutInflater;
@@ -42,22 +41,22 @@ public class ColorChooser extends LinearLayout {
super(context, attrs);
this.context = context;
- final FlexboxLayout.LayoutParams params = new FlexboxLayout.LayoutParams(
+ final var params = new FlexboxLayout.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT
);
params.setMargins(0, DimensionUtil.INSTANCE.dpToPx(context, R.dimen.spacer_1x), 0, 0);
params.setFlexBasisPercent(.15f);
- final TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.ColorChooser, 0, 0);
- colors = Arrays.stream(getResources().getStringArray(a.getResourceId(R.styleable.ColorChooser_colors, 0)))
+ final var styles = context.obtainStyledAttributes(attrs, R.styleable.ColorChooser, 0, 0);
+ colors = Arrays.stream(getResources().getStringArray(styles.getResourceId(R.styleable.ColorChooser_colors, 0)))
.mapToInt(Color::parseColor)
.toArray();
- a.recycle();
+ styles.recycle();
binding = WidgetColorChooserBinding.inflate(LayoutInflater.from(context), this, true);
for (final int color : colors) {
- final ImageView image = new ImageView(getContext());
+ final var image = new ImageView(getContext());
image.setLayoutParams(params);
image.setOnClickListener((imageView) -> {
if (previouslySelectedImageView != null) { // null when first selection
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/view/EmptyContentView.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/view/EmptyContentView.java
index 3564662ce..b103e528a 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/view/EmptyContentView.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/view/EmptyContentView.java
@@ -1,7 +1,6 @@
package it.niedermann.nextcloud.deck.ui.view;
import android.content.Context;
-import android.content.res.TypedArray;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
@@ -24,19 +23,19 @@ public class EmptyContentView extends RelativeLayout {
binding = WidgetEmptyContentViewBinding.inflate(LayoutInflater.from(context), this, true);
- TypedArray a = context.obtainStyledAttributes(attrs,
+ final var styles = context.obtainStyledAttributes(attrs,
R.styleable.EmptyContentView, 0, 0);
- @StringRes int descriptionRes = a.getResourceId(R.styleable.EmptyContentView_description, NO_DESCRIPTION);
+ @StringRes int descriptionRes = styles.getResourceId(R.styleable.EmptyContentView_description, NO_DESCRIPTION);
- binding.title.setText(getResources().getString(a.getResourceId(R.styleable.EmptyContentView_title, R.string.no_content)));
+ binding.title.setText(getResources().getString(styles.getResourceId(R.styleable.EmptyContentView_title, R.string.no_content)));
if (descriptionRes == NO_DESCRIPTION) {
binding.description.setVisibility(View.GONE);
} else {
binding.description.setText(getResources().getString(descriptionRes));
}
- binding.image.setImageResource(a.getResourceId(R.styleable.EmptyContentView_image, R.drawable.ic_app_logo));
- a.recycle();
+ binding.image.setImageResource(styles.getResourceId(R.styleable.EmptyContentView_image, R.drawable.ic_app_logo));
+ styles.recycle();
}
public void hideDescription() {
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/view/OverlappingAvatars.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/view/OverlappingAvatars.java
index 0facc385c..9d15df896 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/view/OverlappingAvatars.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/view/OverlappingAvatars.java
@@ -4,7 +4,6 @@ import android.content.Context;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.util.AttributeSet;
-import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.RelativeLayout;
@@ -53,7 +52,7 @@ public class OverlappingAvatars extends RelativeLayout {
}
public void setAvatars(@NonNull Account account, @NonNull List<User> assignedUsers) {
- @NonNull Context context = getContext();
+ @NonNull final var context = getContext();
removeAllViews();
RelativeLayout.LayoutParams avatarLayoutParams;
int avatarCount;
@@ -62,7 +61,7 @@ public class OverlappingAvatars extends RelativeLayout {
avatarLayoutParams.setMargins(0, 0, avatarCount * overlapPx, 0);
avatarLayoutParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
- final ImageView avatar = new ImageView(context);
+ final var avatar = new ImageView(context);
avatar.setLayoutParams(avatarLayoutParams);
avatar.setPadding(avatarBorderSize, avatarBorderSize, avatarBorderSize, avatarBorderSize);
@@ -79,7 +78,7 @@ public class OverlappingAvatars extends RelativeLayout {
// Recalculate container size based on avatar count
int size = overlapPx * (avatarCount - 1) + avatarSize;
- ViewGroup.LayoutParams rememberParam = getLayoutParams();
+ final var rememberParam = getLayoutParams();
rememberParam.width = size;
setLayoutParams(rememberParam);
}
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/view/SquareRelativeLayout.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/view/SquareRelativeLayout.java
index cdce90251..6937a370d 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/view/SquareRelativeLayout.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/view/SquareRelativeLayout.java
@@ -25,6 +25,7 @@ public class SquareRelativeLayout extends RelativeLayout {
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
// Set a square layout.
+ //noinspection SuspiciousNameCombination
super.onMeasure(widthMeasureSpec, widthMeasureSpec);
}
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/view/labelchip/LabelChip.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/view/labelchip/LabelChip.java
index 83853f0b2..d69ff2898 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/view/labelchip/LabelChip.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/view/labelchip/LabelChip.java
@@ -43,8 +43,8 @@ public class LabelChip extends Chip {
try {
int labelColor = label.getColor();
- ColorStateList c = ColorStateList.valueOf(labelColor);
- setChipBackgroundColor(c);
+ final var colorStateList = ColorStateList.valueOf(labelColor);
+ setChipBackgroundColor(colorStateList);
setTextColor(ColorUtil.INSTANCE.getForegroundColorForBackgroundColor(labelColor));
} catch (IllegalArgumentException e) {
DeckLog.logError(e);
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/view/labellayout/LabelLayout.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/view/labellayout/LabelLayout.java
index 3db539e53..526bdbaef 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/view/labellayout/LabelLayout.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/view/labellayout/LabelLayout.java
@@ -56,9 +56,9 @@ public abstract class LabelLayout extends FlexboxLayout {
private void removeObsoleteLabels(List<Label> labels) {
chipList:
for (int i = 0; i < chipList.size(); i++) {
- LabelChip currentChip = chipList.get(i);
- final Label existingLabel = currentChip.getLabel();
- for (Label label : labels) {
+ final var currentChip = chipList.get(i);
+ final var existingLabel = currentChip.getLabel();
+ for (final var label : labels) {
if (existingLabel.equals(label)) {
continue chipList;
}
@@ -75,15 +75,15 @@ public abstract class LabelLayout extends FlexboxLayout {
private void addNewLabels(List<Label> labels) {
int oldLabelSize = chipList.size();
labelList:
- for (Label label : labels) {
+ for (final var label : labels) {
for (int i = 0; i < oldLabelSize; i++) {
- final LabelChip currentChip = chipList.get(i);
- final Label existingLabel = currentChip.getLabel();
+ final var currentChip = chipList.get(i);
+ final var existingLabel = currentChip.getLabel();
if (existingLabel.equals(label)) {
continue labelList;
}
}
- final LabelChip chip = createLabelChip(label);
+ final var chip = createLabelChip(label);
addView(chip);
chipList.add(chip);
}
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/util/AttachmentUtil.java b/app/src/main/java/it/niedermann/nextcloud/deck/util/AttachmentUtil.java
index fa514952c..aba73a11e 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/util/AttachmentUtil.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/util/AttachmentUtil.java
@@ -4,7 +4,6 @@ import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.text.TextUtils;
-import android.webkit.MimeTypeMap;
import android.widget.Toast;
import androidx.annotation.DrawableRes;
@@ -110,13 +109,4 @@ public class AttachmentUtil {
}
}
- public static String getMimeType(@Nullable String url) {
- String type = null;
- String extension = MimeTypeMap.getFileExtensionFromUrl(url);
- if (extension != null) {
- type = MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension);
- }
- return type;
- }
-
}
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/util/CardUtil.java b/app/src/main/java/it/niedermann/nextcloud/deck/util/CardUtil.java
index f8a1a9b1a..a0e3bdd69 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/util/CardUtil.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/util/CardUtil.java
@@ -13,7 +13,6 @@ import java.util.stream.Collectors;
import it.niedermann.android.markdown.MarkdownUtil;
import it.niedermann.nextcloud.deck.R;
-import it.niedermann.nextcloud.deck.model.Card;
import it.niedermann.nextcloud.deck.model.Label;
import it.niedermann.nextcloud.deck.model.full.FullCard;
@@ -28,21 +27,21 @@ public class CardUtil {
*/
@NonNull
public static String getCardContentAsString(@NonNull Context context, @NonNull FullCard fullCard) {
- final Card card = fullCard.getCard();
- String text = card.getDescription();
+ final var card = fullCard.getCard();
+ final var text = new StringBuilder(card.getDescription());
if(card.getDueDate() != null) {
if(!TextUtils.isEmpty(text)) {
- text += "\n";
+ text.append("\n");
}
- text += context.getString(R.string.share_content_duedate, card.getDueDate().atZone(ZoneId.systemDefault()).format(DateTimeFormatter.ofLocalizedDateTime(FormatStyle.MEDIUM)));
+ text.append(context.getString(R.string.share_content_duedate, card.getDueDate().atZone(ZoneId.systemDefault()).format(DateTimeFormatter.ofLocalizedDateTime(FormatStyle.MEDIUM))));
}
if(fullCard.getLabels() != null && !fullCard.getLabels().isEmpty()) {
if(!TextUtils.isEmpty(text)) {
- text += "\n";
+ text.append("\n");
}
- text += context.getString(R.string.share_content_labels, fullCard.getLabels().stream().map(Label::getTitle).collect(Collectors.joining(", ")));
+ text.append(context.getString(R.string.share_content_labels, fullCard.getLabels().stream().map(Label::getTitle).collect(Collectors.joining(", "))));
}
- return text;
+ return text.toString();
}
public static boolean cardHasCommentsOrAttachments(@NonNull FullCard fullCard) {
@@ -65,7 +64,7 @@ public class CardUtil {
@NonNull
private static String getLineWithoutMarkDown(@NonNull String content, @SuppressWarnings("SameParameterValue") int lineNumber) {
if (content.contains("\n")) {
- final String[] lines = content.split("\n");
+ final var lines = content.split("\n");
int currentLine = lineNumber;
while (currentLine < lines.length && isEmptyLine(lines[currentLine])) {
currentLine++;
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/util/CustomAppGlideModule.java b/app/src/main/java/it/niedermann/nextcloud/deck/util/CustomAppGlideModule.java
index 3e7b2d44b..6b17d7881 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/util/CustomAppGlideModule.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/util/CustomAppGlideModule.java
@@ -2,7 +2,6 @@ package it.niedermann.nextcloud.deck.util;
import android.content.Context;
import android.net.ConnectivityManager;
-import android.net.NetworkInfo;
import androidx.annotation.NonNull;
import androidx.annotation.UiThread;
@@ -29,9 +28,9 @@ public class CustomAppGlideModule extends AppGlideModule {
@UiThread
public static void clearCache(@NonNull Context context) {
- final ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
+ final var cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
if (cm != null) {
- final NetworkInfo activeNetworkInfo = cm.getActiveNetworkInfo();
+ final var activeNetworkInfo = cm.getActiveNetworkInfo();
if (activeNetworkInfo != null && activeNetworkInfo.isConnected()) {
DeckLog.info("Clearing Glide memory cache");
Glide.get(context).clearMemory();
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/util/DeckColorUtil.java b/app/src/main/java/it/niedermann/nextcloud/deck/util/DeckColorUtil.java
index f69b59757..82a3efd1f 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/util/DeckColorUtil.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/util/DeckColorUtil.java
@@ -18,8 +18,8 @@ public final class DeckColorUtil {
private static final Map<ColorPair, Boolean> CONTRAST_RATIO_SUFFICIENT_CACHE = new HashMap<>();
public static boolean contrastRatioIsSufficient(@ColorInt int colorOne, @ColorInt int colorTwo) {
- ColorPair key = new ColorPair(colorOne, colorTwo);
- Boolean ret = CONTRAST_RATIO_SUFFICIENT_CACHE.get(key);
+ final var key = new ColorPair(colorOne, colorTwo);
+ var ret = CONTRAST_RATIO_SUFFICIENT_CACHE.get(key);
if (ret == null) {
ret = ColorUtil.INSTANCE.getContrastRatio(colorOne, colorTwo) > 3d;
CONTRAST_RATIO_SUFFICIENT_CACHE.put(key, ret);
@@ -29,8 +29,8 @@ public final class DeckColorUtil {
}
public static boolean contrastRatioIsSufficientBigAreas(@ColorInt int colorOne, @ColorInt int colorTwo) {
- ColorPair key = new ColorPair(colorOne, colorTwo);
- Boolean ret = CONTRAST_RATIO_SUFFICIENT_CACHE.get(key);
+ final var key = new ColorPair(colorOne, colorTwo);
+ var ret = CONTRAST_RATIO_SUFFICIENT_CACHE.get(key);
if (ret == null) {
ret = ColorUtil.INSTANCE.getContrastRatio(colorOne, colorTwo) > 1.47d;
CONTRAST_RATIO_SUFFICIENT_CACHE.put(key, ret);
@@ -48,7 +48,7 @@ public final class DeckColorUtil {
@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/nextcloud/deck/util/DrawerMenuUtil.java b/app/src/main/java/it/niedermann/nextcloud/deck/util/DrawerMenuUtil.java
index d315c1867..1683a8ef4 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/util/DrawerMenuUtil.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/util/DrawerMenuUtil.java
@@ -38,17 +38,17 @@ public class DrawerMenuUtil {
boolean currentServerVersionIsSupported) {
menu.add(Menu.NONE, MENU_ID_UPCOMING_CARDS, Menu.NONE, R.string.widget_upcoming_title).setIcon(R.drawable.calendar_blank_grey600_24dp);
int index = 0;
- for (Board board : boards) {
- final MenuItem m = menu
+ for (final var board : boards) {
+ final var menuItem = menu
.add(Menu.NONE, index++, Menu.NONE, board.getTitle()).setIcon(ViewUtil.getTintedImageView(context, R.drawable.circle_grey600_36dp, board.getColor()))
.setCheckable(true);
if (currentServerVersionIsSupported) {
if (board.isPermissionManage()) {
- final AppCompatImageButton contextMenu = new AppCompatImageButton(context);
+ final var contextMenu = new AppCompatImageButton(context);
contextMenu.setBackgroundDrawable(null);
contextMenu.setImageDrawable(ViewUtil.getTintedImageView(context, R.drawable.ic_menu, ContextCompat.getColor(context, R.color.grey600)));
contextMenu.setOnClickListener((v) -> {
- PopupMenu popup = new PopupMenu(context, contextMenu);
+ final var popup = new PopupMenu(context, contextMenu);
popup.getMenuInflater().inflate(R.menu.navigation_context_menu, popup.getMenu());
final int SHARE_BOARD_ID = -1;
if (board.isPermissionShare()) {
@@ -80,13 +80,13 @@ public class DrawerMenuUtil {
});
popup.show();
});
- m.setActionView(contextMenu);
+ menuItem.setActionView(contextMenu);
} else if (board.isPermissionShare()) {
- final AppCompatImageButton contextMenu = new AppCompatImageButton(context);
+ final var contextMenu = new AppCompatImageButton(context);
contextMenu.setBackgroundDrawable(null);
contextMenu.setImageDrawable(ViewUtil.getTintedImageView(context, R.drawable.ic_share_grey600_18dp, ContextCompat.getColor(context, R.color.grey600)));
contextMenu.setOnClickListener((v) -> AccessControlDialogFragment.newInstance(board.getLocalId()).show(context.getSupportFragmentManager(), AccessControlDialogFragment.class.getSimpleName()));
- m.setActionView(contextMenu);
+ menuItem.setActionView(contextMenu);
}
}
}
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/util/FilesUtil.java b/app/src/main/java/it/niedermann/nextcloud/deck/util/FilesUtil.java
index 3e4a5842f..01ea4e004 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/util/FilesUtil.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/util/FilesUtil.java
@@ -10,7 +10,6 @@ import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
-import java.io.InputStream;
import it.niedermann.nextcloud.deck.DeckLog;
@@ -30,12 +29,12 @@ public class FilesUtil {
*/
@WorkerThread
public static File copyContentUriToTempFile(@NonNull Context context, @NonNull Uri currentUri, long accountId, Long localCardId) throws IOException, IllegalArgumentException {
- final InputStream inputStream = context.getContentResolver().openInputStream(currentUri);
+ final var inputStream = context.getContentResolver().openInputStream(currentUri);
if (inputStream == null) {
throw new IOException("Could not open input stream for " + currentUri.getPath());
}
- final File cacheFile = getTempCacheFile(context, "attachments/account-" + accountId + "/card-" + (localCardId == null ? "pending-creation" : localCardId) + '/' + UriUtils.getDisplayNameForUri(currentUri, context));
- final FileOutputStream outputStream = new FileOutputStream(cacheFile);
+ final var cacheFile = getTempCacheFile(context, "attachments/account-" + accountId + "/card-" + (localCardId == null ? "pending-creation" : localCardId) + '/' + UriUtils.getDisplayNameForUri(currentUri, context));
+ final var outputStream = new FileOutputStream(cacheFile);
byte[] buffer = new byte[4096];
int count;
@@ -50,11 +49,11 @@ public class FilesUtil {
* Creates a new {@link File}
*/
public static File getTempCacheFile(@NonNull Context context, String fileName) throws IOException {
- File cacheFile = new File(context.getApplicationContext().getFilesDir().getAbsolutePath() + "/" + fileName);
+ final var cacheFile = new File(context.getApplicationContext().getFilesDir().getAbsolutePath() + "/" + fileName);
DeckLog.verbose("- Full path for new cache file:", cacheFile.getAbsolutePath());
- final File tempDir = cacheFile.getParentFile();
+ final var tempDir = cacheFile.getParentFile();
if (tempDir == null) {
throw new FileNotFoundException("could not cacheFile.getParentFile()");
}
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/util/ProjectUtil.java b/app/src/main/java/it/niedermann/nextcloud/deck/util/ProjectUtil.java
index 781b5dabf..51d6c83c5 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/util/ProjectUtil.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/util/ProjectUtil.java
@@ -19,13 +19,13 @@ public class ProjectUtil {
public static Uri getResourceUri(@NonNull Account account, @NonNull String link) throws IllegalArgumentException {
try {
// Assume link contains a fully qualified Uri including host
- final URL u = new URL(link);
- return Uri.parse(u.toString());
+ final var url = new URL(link);
+ return Uri.parse(url.toString());
} catch (Throwable linkIsNotQualified) {
try {
// Assume link is a absolute path that needs to be concatenated with account url for a complete Uri
- final URL u = new URL(account.getUrl() + link);
- return Uri.parse(u.toString());
+ final var url = new URL(account.getUrl() + link);
+ return Uri.parse(url.toString());
} catch (Throwable throwable) {
throw new IllegalArgumentException("Could not parse " + Uri.class.getSimpleName() + ": " + link, throwable);
}
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/util/SpannableUtil.java b/app/src/main/java/it/niedermann/nextcloud/deck/util/SpannableUtil.java
index f8be0e90d..664407d72 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/util/SpannableUtil.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/util/SpannableUtil.java
@@ -25,30 +25,30 @@ public class SpannableUtil {
}
public static SpannableString strong(@NonNull CharSequence text) {
- final SpannableString span = new SpannableString(text);
- span.setSpan(new StyleSpan(Typeface.BOLD), 0, span.length(), 0);
- return span;
+ final var spannable = new SpannableString(text);
+ spannable.setSpan(new StyleSpan(Typeface.BOLD), 0, spannable.length(), 0);
+ return spannable;
}
public static SpannableString disabled(@NonNull CharSequence text, @NonNull Context context) {
- final SpannableString span = new SpannableString(text);
- span.setSpan(new StyleSpan(Typeface.ITALIC), 0, span.length(), 0);
- span.setSpan(new ForegroundColorSpan(ContextCompat.getColor(context, R.color.fg_secondary)), 0, span.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
- return span;
+ final var spannable = new SpannableString(text);
+ spannable.setSpan(new StyleSpan(Typeface.ITALIC), 0, spannable.length(), 0);
+ spannable.setSpan(new ForegroundColorSpan(ContextCompat.getColor(context, R.color.fg_secondary)), 0, spannable.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
+ return spannable;
}
public static SpannableString url(@NonNull CharSequence text, @NonNull String target) {
- final SpannableString span = new SpannableString(text);
- span.setSpan(new URLSpan(target), 0, span.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
- return span;
+ final var spannable = new SpannableString(text);
+ spannable.setSpan(new URLSpan(target), 0, spannable.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
+ return spannable;
}
public static void setTextWithURL(@NonNull TextView textView, @NonNull Resources resources, @StringRes int containerTextId, @StringRes int linkLabelId, @StringRes int urlId) {
final String linkLabel = resources.getString(linkLabelId);
final String finalText = resources.getString(containerTextId, linkLabel);
- final SpannableString finalSpannable = new SpannableString(finalText);
- finalSpannable.setSpan(new URLSpan(resources.getString(urlId)), finalText.indexOf(linkLabel), finalText.indexOf(linkLabel) + linkLabel.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
- textView.setText(finalSpannable);
+ final var spannable = new SpannableString(finalText);
+ spannable.setSpan(new URLSpan(resources.getString(urlId)), finalText.indexOf(linkLabel), finalText.indexOf(linkLabel) + linkLabel.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
+ textView.setText(spannable);
textView.setMovementMethod(new LinkMovementMethod());
}
}
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/util/UriUtils.java b/app/src/main/java/it/niedermann/nextcloud/deck/util/UriUtils.java
index c317359cc..44031b70e 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/util/UriUtils.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/util/UriUtils.java
@@ -2,7 +2,6 @@ package it.niedermann.nextcloud.deck.util;
import android.content.ContentResolver;
import android.content.Context;
-import android.database.Cursor;
import android.net.Uri;
import android.provider.MediaStore;
import android.webkit.MimeTypeMap;
@@ -77,7 +76,7 @@ public final class UriUtils {
displayNameColumn = MediaStore.Files.FileColumns.DISPLAY_NAME;
}
- try (Cursor cursor = context.getContentResolver().query(
+ try (final var cursor = context.getContentResolver().query(
uri, new String[]{displayNameColumn},
null, null, null
)) {
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/util/VCardUtil.java b/app/src/main/java/it/niedermann/nextcloud/deck/util/VCardUtil.java
index a3e4f6d31..6c4b091fc 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/util/VCardUtil.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/util/VCardUtil.java
@@ -1,8 +1,6 @@
package it.niedermann.nextcloud.deck.util;
-import android.content.ContentResolver;
import android.content.Context;
-import android.database.Cursor;
import android.graphics.Color;
import android.net.Uri;
import android.provider.ContactsContract;
@@ -22,8 +20,8 @@ public class VCardUtil {
}
public static Uri getVCardContentUri(@NonNull Context context, @NonNull Uri contactUri) throws NoSuchElementException {
- final ContentResolver cr = context.getContentResolver();
- try (final Cursor cursor = cr.query(contactUri, null, null, null, null)) {
+ final var cr = context.getContentResolver();
+ try (final var cursor = cr.query(contactUri, null, null, null, null)) {
if (cursor != null && cursor.moveToFirst()) {
final String lookupKey = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.LOOKUP_KEY));
return Uri.withAppendedPath(ContactsContract.Contacts.CONTENT_VCARD_URI, lookupKey);
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/util/ViewUtil.java b/app/src/main/java/it/niedermann/nextcloud/deck/util/ViewUtil.java
index ba1b3e785..12f3418c3 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/util/ViewUtil.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/util/ViewUtil.java
@@ -1,5 +1,8 @@
package it.niedermann.nextcloud.deck.util;
+import static java.time.temporal.ChronoUnit.DAYS;
+import static it.niedermann.nextcloud.deck.DeckApplication.isDarkTheme;
+
import android.content.Context;
import android.content.res.ColorStateList;
import android.graphics.drawable.Drawable;
@@ -24,9 +27,6 @@ import java.time.LocalDate;
import it.niedermann.android.util.DimensionUtil;
import it.niedermann.nextcloud.deck.R;
-import static it.niedermann.nextcloud.deck.DeckApplication.isDarkTheme;
-import static java.time.temporal.ChronoUnit.DAYS;
-
public final class ViewUtil {
private ViewUtil() {
@@ -71,9 +71,9 @@ public final class ViewUtil {
}
public static Drawable getTintedImageView(@NonNull Context context, @DrawableRes int imageId, @ColorInt int color) {
- final Drawable drawable = ContextCompat.getDrawable(context, imageId);
+ final var drawable = ContextCompat.getDrawable(context, imageId);
assert drawable != null;
- final Drawable wrapped = DrawableCompat.wrap(drawable).mutate();
+ final var wrapped = DrawableCompat.wrap(drawable).mutate();
DrawableCompat.setTint(wrapped, color);
return drawable;
}