diff options
177 files changed, 637 insertions, 607 deletions
diff --git a/src/conversations/java/eu/siacs/conversations/entities/AccountConfiguration.java b/src/conversations/java/eu/siacs/conversations/entities/AccountConfiguration.java index 702d45e23..65b6804f9 100644 --- a/src/conversations/java/eu/siacs/conversations/entities/AccountConfiguration.java +++ b/src/conversations/java/eu/siacs/conversations/entities/AccountConfiguration.java @@ -1,7 +1,6 @@ package eu.siacs.conversations.entities; import com.google.common.base.Preconditions; -import com.google.common.base.Strings; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.google.gson.JsonSyntaxException; diff --git a/src/conversations/java/eu/siacs/conversations/services/ImportBackupService.java b/src/conversations/java/eu/siacs/conversations/services/ImportBackupService.java index 3aa1ab56b..9c6ebaafd 100644 --- a/src/conversations/java/eu/siacs/conversations/services/ImportBackupService.java +++ b/src/conversations/java/eu/siacs/conversations/services/ImportBackupService.java @@ -12,9 +12,10 @@ import android.net.Uri; import android.os.Binder; import android.os.IBinder; import android.provider.OpenableColumns; +import android.util.Log; + import androidx.core.app.NotificationCompat; import androidx.core.app.NotificationManagerCompat; -import android.util.Log; import com.google.common.base.Charsets; import com.google.common.base.Stopwatch; @@ -60,7 +61,7 @@ import eu.siacs.conversations.xmpp.Jid; public class ImportBackupService extends Service { private static final int NOTIFICATION_ID = 21; - private static AtomicBoolean running = new AtomicBoolean(false); + private static final AtomicBoolean running = new AtomicBoolean(false); private final ImportBackupServiceBinder binder = new ImportBackupServiceBinder(); private final SerialSingleThreadExecutor executor = new SerialSingleThreadExecutor(getClass().getSimpleName()); private final Set<OnBackupProcessed> mOnBackupProcessedListeners = Collections.newSetFromMap(new WeakHashMap<>()); diff --git a/src/conversations/java/eu/siacs/conversations/ui/EasyOnboardingInviteActivity.java b/src/conversations/java/eu/siacs/conversations/ui/EasyOnboardingInviteActivity.java index 072c7f87b..fea92401b 100644 --- a/src/conversations/java/eu/siacs/conversations/ui/EasyOnboardingInviteActivity.java +++ b/src/conversations/java/eu/siacs/conversations/ui/EasyOnboardingInviteActivity.java @@ -2,17 +2,17 @@ package eu.siacs.conversations.ui; import android.app.Activity; import android.content.Intent; -import androidx.databinding.DataBindingUtil; import android.graphics.Bitmap; import android.graphics.Point; import android.os.Bundle; -import androidx.appcompat.widget.Toolbar; import android.util.Log; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.Toast; +import androidx.databinding.DataBindingUtil; + import com.google.common.base.Strings; import eu.siacs.conversations.Config; @@ -34,7 +34,7 @@ public class EasyOnboardingInviteActivity extends XmppActivity implements EasyOn public void onCreate(final Bundle bundle) { super.onCreate(bundle); this.binding = DataBindingUtil.setContentView(this, R.layout.activity_easy_invite); - setSupportActionBar((Toolbar) binding.toolbar); + setSupportActionBar(binding.toolbar); configureActionBar(getSupportActionBar(), true); this.binding.shareButton.setOnClickListener(v -> share()); if (bundle != null && bundle.containsKey("invite")) { diff --git a/src/conversations/java/eu/siacs/conversations/ui/ImportBackupActivity.java b/src/conversations/java/eu/siacs/conversations/ui/ImportBackupActivity.java index b37918591..888c75129 100644 --- a/src/conversations/java/eu/siacs/conversations/ui/ImportBackupActivity.java +++ b/src/conversations/java/eu/siacs/conversations/ui/ImportBackupActivity.java @@ -5,21 +5,22 @@ import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.content.ServiceConnection; -import androidx.databinding.DataBindingUtil; import android.net.Uri; import android.os.Build; import android.os.Bundle; import android.os.IBinder; -import com.google.android.material.snackbar.Snackbar; -import androidx.core.content.ContextCompat; -import androidx.appcompat.app.AlertDialog; -import androidx.appcompat.widget.Toolbar; import android.util.Log; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuItem; import android.view.View; +import androidx.appcompat.app.AlertDialog; +import androidx.core.content.ContextCompat; +import androidx.databinding.DataBindingUtil; + +import com.google.android.material.snackbar.Snackbar; + import java.io.IOException; import java.util.List; @@ -48,7 +49,7 @@ public class ImportBackupActivity extends ActionBarActivity implements ServiceCo setTheme(this.mTheme); super.onCreate(savedInstanceState); binding = DataBindingUtil.setContentView(this, R.layout.activity_import_backup); - setSupportActionBar((Toolbar) binding.toolbar); + setSupportActionBar(binding.toolbar); setLoadingState(savedInstanceState != null && savedInstanceState.getBoolean("loading_state", false)); this.backupFileAdapter = new BackupFileAdapter(); this.binding.list.setAdapter(this.backupFileAdapter); diff --git a/src/conversations/java/eu/siacs/conversations/ui/MagicCreateActivity.java b/src/conversations/java/eu/siacs/conversations/ui/MagicCreateActivity.java index 8d2c904d9..3419d8fc9 100644 --- a/src/conversations/java/eu/siacs/conversations/ui/MagicCreateActivity.java +++ b/src/conversations/java/eu/siacs/conversations/ui/MagicCreateActivity.java @@ -2,14 +2,14 @@ package eu.siacs.conversations.ui; import android.content.Intent; import android.content.pm.ActivityInfo; -import androidx.databinding.DataBindingUtil; import android.os.Bundle; -import androidx.appcompat.widget.Toolbar; import android.text.Editable; import android.text.TextWatcher; import android.view.View; import android.widget.Toast; +import androidx.databinding.DataBindingUtil; + import java.security.SecureRandom; import eu.siacs.conversations.Config; @@ -61,7 +61,7 @@ public class MagicCreateActivity extends XmppActivity implements TextWatcher { } super.onCreate(savedInstanceState); this.binding = DataBindingUtil.setContentView(this, R.layout.magic_create); - setSupportActionBar((Toolbar) this.binding.toolbar); + setSupportActionBar(this.binding.toolbar); configureActionBar(getSupportActionBar(), this.domain == null); if (username != null && domain != null) { binding.title.setText(R.string.your_server_invitation); diff --git a/src/conversations/java/eu/siacs/conversations/ui/ManageAccountActivity.java b/src/conversations/java/eu/siacs/conversations/ui/ManageAccountActivity.java index 93cc7ec79..c1ee451be 100644 --- a/src/conversations/java/eu/siacs/conversations/ui/ManageAccountActivity.java +++ b/src/conversations/java/eu/siacs/conversations/ui/ManageAccountActivity.java @@ -5,9 +5,6 @@ import android.content.Intent; import android.os.Bundle; import android.security.KeyChain; import android.security.KeyChainAliasCallback; -import androidx.annotation.NonNull; -import androidx.appcompat.app.ActionBar; -import androidx.appcompat.app.AlertDialog; import android.util.Pair; import android.view.ContextMenu; import android.view.ContextMenu.ContextMenuInfo; @@ -18,6 +15,10 @@ import android.widget.AdapterView.AdapterContextMenuInfo; import android.widget.ListView; import android.widget.Toast; +import androidx.annotation.NonNull; +import androidx.appcompat.app.ActionBar; +import androidx.appcompat.app.AlertDialog; + import org.openintents.openpgp.util.OpenPgpApi; import java.util.ArrayList; @@ -31,8 +32,8 @@ import eu.siacs.conversations.services.XmppConnectionService; import eu.siacs.conversations.services.XmppConnectionService.OnAccountUpdate; import eu.siacs.conversations.ui.adapter.AccountAdapter; import eu.siacs.conversations.ui.util.MenuDoubleTabUtil; -import eu.siacs.conversations.xmpp.XmppConnection; import eu.siacs.conversations.xmpp.Jid; +import eu.siacs.conversations.xmpp.XmppConnection; import static eu.siacs.conversations.utils.PermissionUtils.allGranted; import static eu.siacs.conversations.utils.PermissionUtils.writeGranted; @@ -226,7 +227,7 @@ public class ManageAccountActivity extends XmppActivity implements OnAccountUpda @Override - public void onRequestPermissionsResult(int requestCode, @NonNull String permissions[], @NonNull int[] grantResults) { + public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { if (grantResults.length > 0) { if (allGranted(grantResults)) { switch (requestCode) { diff --git a/src/conversations/java/eu/siacs/conversations/ui/PickServerActivity.java b/src/conversations/java/eu/siacs/conversations/ui/PickServerActivity.java index 7c991c57b..06320d33d 100644 --- a/src/conversations/java/eu/siacs/conversations/ui/PickServerActivity.java +++ b/src/conversations/java/eu/siacs/conversations/ui/PickServerActivity.java @@ -2,12 +2,12 @@ package eu.siacs.conversations.ui; import android.content.Intent; import android.content.pm.ActivityInfo; -import androidx.databinding.DataBindingUtil; import android.os.Bundle; -import androidx.appcompat.app.AppCompatActivity; -import androidx.appcompat.widget.Toolbar; import android.view.MenuItem; +import androidx.appcompat.app.AppCompatActivity; +import androidx.databinding.DataBindingUtil; + import java.util.List; import eu.siacs.conversations.R; @@ -66,7 +66,7 @@ public class PickServerActivity extends XmppActivity { } super.onCreate(savedInstanceState); ActivityPickServerBinding binding = DataBindingUtil.setContentView(this, R.layout.activity_pick_server); - setSupportActionBar((Toolbar) binding.toolbar); + setSupportActionBar(binding.toolbar); configureActionBar(getSupportActionBar()); binding.useCim.setOnClickListener(v -> { final Intent intent = new Intent(this, MagicCreateActivity.class); diff --git a/src/conversations/java/eu/siacs/conversations/ui/WelcomeActivity.java b/src/conversations/java/eu/siacs/conversations/ui/WelcomeActivity.java index 266b7c9d4..8f652ce8e 100644 --- a/src/conversations/java/eu/siacs/conversations/ui/WelcomeActivity.java +++ b/src/conversations/java/eu/siacs/conversations/ui/WelcomeActivity.java @@ -4,20 +4,19 @@ import android.Manifest; import android.content.ActivityNotFoundException; import android.content.Intent; import android.content.pm.ActivityInfo; - -import androidx.databinding.DataBindingUtil; import android.net.Uri; import android.os.Bundle; import android.security.KeyChain; import android.security.KeyChainAliasCallback; -import androidx.annotation.NonNull; -import androidx.appcompat.app.AppCompatActivity; -import androidx.appcompat.widget.Toolbar; import android.util.Log; import android.view.Menu; import android.view.MenuItem; import android.widget.Toast; +import androidx.annotation.NonNull; +import androidx.appcompat.app.AppCompatActivity; +import androidx.databinding.DataBindingUtil; + import java.util.Arrays; import java.util.List; @@ -120,7 +119,7 @@ public class WelcomeActivity extends XmppActivity implements XmppConnectionServi } super.onCreate(savedInstanceState); ActivityWelcomeBinding binding = DataBindingUtil.setContentView(this, R.layout.activity_welcome); - setSupportActionBar((Toolbar) binding.toolbar); + setSupportActionBar(binding.toolbar); configureActionBar(getSupportActionBar(), false); binding.registerNewAccount.setOnClickListener(v -> { final Intent intent = new Intent(this, PickServerActivity.class); diff --git a/src/conversations/java/eu/siacs/conversations/ui/adapter/BackupFileAdapter.java b/src/conversations/java/eu/siacs/conversations/ui/adapter/BackupFileAdapter.java index 375e1d73a..9857dcd8a 100644 --- a/src/conversations/java/eu/siacs/conversations/ui/adapter/BackupFileAdapter.java +++ b/src/conversations/java/eu/siacs/conversations/ui/adapter/BackupFileAdapter.java @@ -1,13 +1,10 @@ package eu.siacs.conversations.ui.adapter; import android.content.res.Resources; -import androidx.databinding.DataBindingUtil; import android.graphics.Bitmap; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; import android.os.AsyncTask; -import androidx.annotation.NonNull; -import androidx.recyclerview.widget.RecyclerView; import android.text.format.DateUtils; import android.util.DisplayMetrics; import android.view.LayoutInflater; @@ -15,6 +12,10 @@ import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; +import androidx.annotation.NonNull; +import androidx.databinding.DataBindingUtil; +import androidx.recyclerview.widget.RecyclerView; + import java.lang.ref.WeakReference; import java.util.ArrayList; import java.util.List; diff --git a/src/main/java/eu/siacs/conversations/Config.java b/src/main/java/eu/siacs/conversations/Config.java index 074432030..a6a1a2118 100644 --- a/src/main/java/eu/siacs/conversations/Config.java +++ b/src/main/java/eu/siacs/conversations/Config.java @@ -6,8 +6,8 @@ import android.net.Uri; import java.util.Collections; import java.util.List; -import eu.siacs.conversations.xmpp.chatstate.ChatState; import eu.siacs.conversations.xmpp.Jid; +import eu.siacs.conversations.xmpp.chatstate.ChatState; public final class Config { private static final int UNENCRYPTED = 1; diff --git a/src/main/java/eu/siacs/conversations/crypto/PgpEngine.java b/src/main/java/eu/siacs/conversations/crypto/PgpEngine.java index 2ffbbafbd..c5ca3ad75 100644 --- a/src/main/java/eu/siacs/conversations/crypto/PgpEngine.java +++ b/src/main/java/eu/siacs/conversations/crypto/PgpEngine.java @@ -2,9 +2,10 @@ package eu.siacs.conversations.crypto; import android.app.PendingIntent; import android.content.Intent; -import androidx.annotation.StringRes; import android.util.Log; +import androidx.annotation.StringRes; + import org.openintents.openpgp.OpenPgpError; import org.openintents.openpgp.OpenPgpSignatureResult; import org.openintents.openpgp.util.OpenPgpApi; @@ -30,8 +31,8 @@ import eu.siacs.conversations.services.XmppConnectionService; import eu.siacs.conversations.ui.UiCallback; public class PgpEngine { - private OpenPgpApi api; - private XmppConnectionService mXmppConnectionService; + private final OpenPgpApi api; + private final XmppConnectionService mXmppConnectionService; public PgpEngine(OpenPgpApi api, XmppConnectionService service) { this.api = api; diff --git a/src/main/java/eu/siacs/conversations/crypto/axolotl/AxolotlService.java b/src/main/java/eu/siacs/conversations/crypto/axolotl/AxolotlService.java index 7c363258c..b43d331c8 100644 --- a/src/main/java/eu/siacs/conversations/crypto/axolotl/AxolotlService.java +++ b/src/main/java/eu/siacs/conversations/crypto/axolotl/AxolotlService.java @@ -2,18 +2,19 @@ package eu.siacs.conversations.crypto.axolotl; import android.os.Bundle; import android.security.KeyChain; -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; import android.util.Log; import android.util.Pair; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; + import org.bouncycastle.jce.provider.BouncyCastleProvider; -import org.whispersystems.libsignal.SignalProtocolAddress; import org.whispersystems.libsignal.IdentityKey; import org.whispersystems.libsignal.IdentityKeyPair; import org.whispersystems.libsignal.InvalidKeyException; import org.whispersystems.libsignal.InvalidKeyIdException; import org.whispersystems.libsignal.SessionBuilder; +import org.whispersystems.libsignal.SignalProtocolAddress; import org.whispersystems.libsignal.UntrustedIdentityException; import org.whispersystems.libsignal.ecc.ECPublicKey; import org.whispersystems.libsignal.state.PreKeyBundle; @@ -48,12 +49,12 @@ import eu.siacs.conversations.services.XmppConnectionService; import eu.siacs.conversations.utils.CryptoHelper; import eu.siacs.conversations.utils.SerialSingleThreadExecutor; import eu.siacs.conversations.xml.Element; +import eu.siacs.conversations.xmpp.Jid; import eu.siacs.conversations.xmpp.OnAdvancedStreamFeaturesLoaded; import eu.siacs.conversations.xmpp.OnIqPacketReceived; import eu.siacs.conversations.xmpp.pep.PublishOptions; import eu.siacs.conversations.xmpp.stanzas.IqPacket; import eu.siacs.conversations.xmpp.stanzas.MessagePacket; -import eu.siacs.conversations.xmpp.Jid; public class AxolotlService implements OnAdvancedStreamFeaturesLoaded { @@ -85,9 +86,9 @@ public class AxolotlService implements OnAdvancedStreamFeaturesLoaded { private int numPublishTriesOnEmptyPep = 0; private boolean pepBroken = false; private int lastDeviceListNotificationHash = 0; - private Set<XmppAxolotlSession> postponedSessions = new HashSet<>(); //sessions stored here will receive after mam catchup treatment - private Set<SignalProtocolAddress> postponedHealing = new HashSet<>(); //addresses stored here will need a healing notification after mam catchup - private AtomicBoolean changeAccessMode = new AtomicBoolean(false); + private final Set<XmppAxolotlSession> postponedSessions = new HashSet<>(); //sessions stored here will receive after mam catchup treatment + private final Set<SignalProtocolAddress> postponedHealing = new HashSet<>(); //addresses stored here will need a healing notification after mam catchup + private final AtomicBoolean changeAccessMode = new AtomicBoolean(false); public AxolotlService(Account account, XmppConnectionService connectionService) { if (account == null || connectionService == null) { diff --git a/src/main/java/eu/siacs/conversations/crypto/axolotl/SQLiteAxolotlStore.java b/src/main/java/eu/siacs/conversations/crypto/axolotl/SQLiteAxolotlStore.java index d723bd262..866449c18 100644 --- a/src/main/java/eu/siacs/conversations/crypto/axolotl/SQLiteAxolotlStore.java +++ b/src/main/java/eu/siacs/conversations/crypto/axolotl/SQLiteAxolotlStore.java @@ -3,15 +3,15 @@ package eu.siacs.conversations.crypto.axolotl; import android.util.Log; import android.util.LruCache; -import org.whispersystems.libsignal.SignalProtocolAddress; import org.whispersystems.libsignal.IdentityKey; import org.whispersystems.libsignal.IdentityKeyPair; import org.whispersystems.libsignal.InvalidKeyIdException; +import org.whispersystems.libsignal.SignalProtocolAddress; import org.whispersystems.libsignal.ecc.Curve; import org.whispersystems.libsignal.ecc.ECKeyPair; -import org.whispersystems.libsignal.state.SignalProtocolStore; import org.whispersystems.libsignal.state.PreKeyRecord; import org.whispersystems.libsignal.state.SessionRecord; +import org.whispersystems.libsignal.state.SignalProtocolStore; import org.whispersystems.libsignal.state.SignedPreKeyRecord; import org.whispersystems.libsignal.util.KeyHelper; diff --git a/src/main/java/eu/siacs/conversations/crypto/axolotl/XmppAxolotlSession.java b/src/main/java/eu/siacs/conversations/crypto/axolotl/XmppAxolotlSession.java index bf3b097dd..20af42fe4 100644 --- a/src/main/java/eu/siacs/conversations/crypto/axolotl/XmppAxolotlSession.java +++ b/src/main/java/eu/siacs/conversations/crypto/axolotl/XmppAxolotlSession.java @@ -1,10 +1,10 @@ package eu.siacs.conversations.crypto.axolotl; +import android.util.Log; + import androidx.annotation.NonNull; import androidx.annotation.Nullable; -import android.util.Log; -import org.whispersystems.libsignal.SignalProtocolAddress; import org.whispersystems.libsignal.DuplicateMessageException; import org.whispersystems.libsignal.IdentityKey; import org.whispersystems.libsignal.InvalidKeyException; @@ -14,6 +14,7 @@ import org.whispersystems.libsignal.InvalidVersionException; import org.whispersystems.libsignal.LegacyMessageException; import org.whispersystems.libsignal.NoSessionException; import org.whispersystems.libsignal.SessionCipher; +import org.whispersystems.libsignal.SignalProtocolAddress; import org.whispersystems.libsignal.UntrustedIdentityException; import org.whispersystems.libsignal.protocol.CiphertextMessage; import org.whispersystems.libsignal.protocol.PreKeySignalMessage; diff --git a/src/main/java/eu/siacs/conversations/entities/Account.java b/src/main/java/eu/siacs/conversations/entities/Account.java index bd6e4e54e..bd71dc9fa 100644 --- a/src/main/java/eu/siacs/conversations/entities/Account.java +++ b/src/main/java/eu/siacs/conversations/entities/Account.java @@ -27,9 +27,9 @@ import eu.siacs.conversations.services.AvatarService; import eu.siacs.conversations.services.XmppConnectionService; import eu.siacs.conversations.utils.UIHelper; import eu.siacs.conversations.utils.XmppUri; +import eu.siacs.conversations.xmpp.Jid; import eu.siacs.conversations.xmpp.XmppConnection; import eu.siacs.conversations.xmpp.jingle.RtpCapability; -import eu.siacs.conversations.xmpp.Jid; public class Account extends AbstractEntity implements AvatarService.Avatarable { diff --git a/src/main/java/eu/siacs/conversations/entities/Bookmark.java b/src/main/java/eu/siacs/conversations/entities/Bookmark.java index 08e54565f..7ded4f842 100644 --- a/src/main/java/eu/siacs/conversations/entities/Bookmark.java +++ b/src/main/java/eu/siacs/conversations/entities/Bookmark.java @@ -1,6 +1,7 @@ package eu.siacs.conversations.entities; import android.content.Context; + import androidx.annotation.NonNull; import androidx.annotation.Nullable; @@ -21,7 +22,7 @@ import eu.siacs.conversations.xmpp.Jid; public class Bookmark extends Element implements ListItem { - private Account account; + private final Account account; private WeakReference<Conversation> conversation; private Jid jid; diff --git a/src/main/java/eu/siacs/conversations/entities/Contact.java b/src/main/java/eu/siacs/conversations/entities/Contact.java index 7f169c5d5..5453f9c23 100644 --- a/src/main/java/eu/siacs/conversations/entities/Contact.java +++ b/src/main/java/eu/siacs/conversations/entities/Contact.java @@ -4,9 +4,10 @@ import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.net.Uri; -import androidx.annotation.NonNull; import android.text.TextUtils; +import androidx.annotation.NonNull; + import com.google.common.base.Strings; import org.json.JSONArray; @@ -28,9 +29,9 @@ import eu.siacs.conversations.services.QuickConversationsService; import eu.siacs.conversations.utils.JidHelper; import eu.siacs.conversations.utils.UIHelper; import eu.siacs.conversations.xml.Element; +import eu.siacs.conversations.xmpp.Jid; import eu.siacs.conversations.xmpp.jingle.RtpCapability; import eu.siacs.conversations.xmpp.pep.Avatar; -import eu.siacs.conversations.xmpp.Jid; public class Contact implements ListItem, Blockable { public static final String TABLENAME = "contacts"; diff --git a/src/main/java/eu/siacs/conversations/entities/Conversation.java b/src/main/java/eu/siacs/conversations/entities/Conversation.java index 4e38caa78..a38dc5427 100644 --- a/src/main/java/eu/siacs/conversations/entities/Conversation.java +++ b/src/main/java/eu/siacs/conversations/entities/Conversation.java @@ -2,9 +2,10 @@ package eu.siacs.conversations.entities; import android.content.ContentValues; import android.database.Cursor; +import android.text.TextUtils; + import androidx.annotation.NonNull; import androidx.annotation.Nullable; -import android.text.TextUtils; import com.google.common.collect.ComparisonChain; import com.google.common.collect.Lists; @@ -28,9 +29,9 @@ import eu.siacs.conversations.services.AvatarService; import eu.siacs.conversations.services.QuickConversationsService; import eu.siacs.conversations.utils.JidHelper; import eu.siacs.conversations.utils.UIHelper; +import eu.siacs.conversations.xmpp.Jid; import eu.siacs.conversations.xmpp.chatstate.ChatState; import eu.siacs.conversations.xmpp.mam.MamReference; -import eu.siacs.conversations.xmpp.Jid; import static eu.siacs.conversations.entities.Bookmark.printableValue; @@ -68,12 +69,12 @@ public class Conversation extends AbstractEntity implements Blockable, Comparabl public AtomicBoolean messagesLoaded = new AtomicBoolean(true); protected Account account = null; private String draftMessage; - private String name; - private String contactUuid; - private String accountUuid; + private final String name; + private final String contactUuid; + private final String accountUuid; private Jid contactJid; private int status; - private long created; + private final long created; private int mode; private JSONObject attributes; private Jid nextCounterpart; @@ -487,7 +488,7 @@ public class Conversation extends AbstractEntity implements Blockable, Comparabl public void setLastClearHistory(long time, String reference) { if (reference != null) { - setAttribute(ATTRIBUTE_LAST_CLEAR_HISTORY, String.valueOf(time) + ":" + reference); + setAttribute(ATTRIBUTE_LAST_CLEAR_HISTORY, time + ":" + reference); } else { setAttribute(ATTRIBUTE_LAST_CLEAR_HISTORY, time); } diff --git a/src/main/java/eu/siacs/conversations/entities/MucOptions.java b/src/main/java/eu/siacs/conversations/entities/MucOptions.java index 57fc5b1d7..d1f6525ce 100644 --- a/src/main/java/eu/siacs/conversations/entities/MucOptions.java +++ b/src/main/java/eu/siacs/conversations/entities/MucOptions.java @@ -1,8 +1,9 @@ package eu.siacs.conversations.entities; +import android.text.TextUtils; + import androidx.annotation.NonNull; import androidx.annotation.Nullable; -import android.text.TextUtils; import java.util.ArrayList; import java.util.Collections; @@ -17,11 +18,11 @@ import eu.siacs.conversations.services.AvatarService; import eu.siacs.conversations.services.MessageArchiveService; import eu.siacs.conversations.utils.JidHelper; import eu.siacs.conversations.utils.UIHelper; +import eu.siacs.conversations.xmpp.Jid; import eu.siacs.conversations.xmpp.chatstate.ChatState; import eu.siacs.conversations.xmpp.forms.Data; import eu.siacs.conversations.xmpp.forms.Field; import eu.siacs.conversations.xmpp.pep.Avatar; -import eu.siacs.conversations.xmpp.Jid; public class MucOptions { @@ -633,8 +634,8 @@ public class MucOptions { OUTCAST(0, R.string.outcast), NONE(1, R.string.no_affiliation); - private int resId; - private int rank; + private final int resId; + private final int rank; Affiliation(int rank, int resId) { this.resId = resId; @@ -676,8 +677,8 @@ public class MucOptions { PARTICIPANT(R.string.participant, 2), NONE(R.string.no_role, 0); - private int resId; - private int rank; + private final int resId; + private final int rank; Role(int resId, int rank) { this.resId = resId; @@ -744,7 +745,7 @@ public class MucOptions { private Jid fullJid; private long pgpKeyId = 0; private Avatar avatar; - private MucOptions options; + private final MucOptions options; private ChatState chatState = Config.DEFAULT_CHAT_STATE; public User(MucOptions options, Jid fullJid) { @@ -855,7 +856,7 @@ public class MucOptions { @Override public String toString() { - return "[fulljid:" + String.valueOf(fullJid) + ",realjid:" + String.valueOf(realJid) + ",affiliation" + affiliation.toString() + "]"; + return "[fulljid:" + fullJid + ",realjid:" + realJid + ",affiliation" + affiliation.toString() + "]"; } public boolean realJidMatchesAccount() { diff --git a/src/main/java/eu/siacs/conversations/entities/Presence.java b/src/main/java/eu/siacs/conversations/entities/Presence.java index 9dce29d39..edafd95de 100644 --- a/src/main/java/eu/siacs/conversations/entities/Presence.java +++ b/src/main/java/eu/siacs/conversations/entities/Presence.java @@ -2,7 +2,6 @@ package eu.siacs.conversations.entities; import androidx.annotation.NonNull; -import java.lang.Comparable; import java.util.Locale; import eu.siacs.conversations.xml.Element; @@ -65,7 +64,7 @@ public class Presence implements Comparable<Presence> { } public int compareTo(@NonNull Presence other) { - return this.status.compareTo(((Presence)other).status); + return this.status.compareTo(other.status); } public Status getStatus() { diff --git a/src/main/java/eu/siacs/conversations/entities/ServiceDiscoveryResult.java b/src/main/java/eu/siacs/conversations/entities/ServiceDiscoveryResult.java index 8b8e58458..8eccbe141 100644 --- a/src/main/java/eu/siacs/conversations/entities/ServiceDiscoveryResult.java +++ b/src/main/java/eu/siacs/conversations/entities/ServiceDiscoveryResult.java @@ -2,26 +2,23 @@ package eu.siacs.conversations.entities; import android.content.ContentValues; import android.database.Cursor; -import androidx.annotation.NonNull; import android.util.Base64; -import android.util.Log; + +import androidx.annotation.NonNull; import com.google.common.base.Strings; -import java.io.UnsupportedEncodingException; -import java.lang.Comparable; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +import java.nio.charset.StandardCharsets; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.util.ArrayList; import java.util.Collections; -import java.util.Comparator; import java.util.List; -import org.json.JSONArray; -import org.json.JSONException; -import org.json.JSONObject; - -import eu.siacs.conversations.Config; import eu.siacs.conversations.xml.Element; import eu.siacs.conversations.xml.Namespace; import eu.siacs.conversations.xmpp.forms.Data; @@ -242,12 +239,8 @@ public class ServiceDiscoveryResult { return null; } - try { - return md.digest(s.toString().getBytes("UTF-8")); - } catch (UnsupportedEncodingException e) { - return null; - } - } + return md.digest(s.toString().getBytes(StandardCharsets.UTF_8)); + } private JSONObject toJSON() { try { diff --git a/src/main/java/eu/siacs/conversations/entities/TransferablePlaceholder.java b/src/main/java/eu/siacs/conversations/entities/TransferablePlaceholder.java index e065953ef..c8a60d7d9 100644 --- a/src/main/java/eu/siacs/conversations/entities/TransferablePlaceholder.java +++ b/src/main/java/eu/siacs/conversations/entities/TransferablePlaceholder.java @@ -2,7 +2,7 @@ package eu.siacs.conversations.entities; public class TransferablePlaceholder implements Transferable { - private int status; + private final int status; public TransferablePlaceholder(int status) { this.status = status; diff --git a/src/main/java/eu/siacs/conversations/generator/IqGenerator.java b/src/main/java/eu/siacs/conversations/generator/IqGenerator.java index 1e5a0ed14..ae9ce3bd5 100644 --- a/src/main/java/eu/siacs/conversations/generator/IqGenerator.java +++ b/src/main/java/eu/siacs/conversations/generator/IqGenerator.java @@ -29,12 +29,12 @@ import eu.siacs.conversations.entities.Conversation; import eu.siacs.conversations.entities.DownloadableFile; import eu.siacs.conversations.services.MessageArchiveService; import eu.siacs.conversations.services.XmppConnectionService; -import eu.siacs.conversations.xml.Namespace; import eu.siacs.conversations.xml.Element; +import eu.siacs.conversations.xml.Namespace; +import eu.siacs.conversations.xmpp.Jid; import eu.siacs.conversations.xmpp.forms.Data; import eu.siacs.conversations.xmpp.pep.Avatar; import eu.siacs.conversations.xmpp.stanzas.IqPacket; -import eu.siacs.conversations.xmpp.Jid; public class IqGenerator extends AbstractGenerator { @@ -430,7 +430,7 @@ public class IqGenerator extends AbstractGenerator { ByteBuffer bb = ByteBuffer.wrap(new byte[16]); bb.putLong(uuid.getMostSignificantBits()); bb.putLong(uuid.getLeastSignificantBits()); - return Base64.encodeToString(bb.array(), Base64.URL_SAFE | Base64.NO_PADDING | Base64.NO_WRAP) + name.substring(pos, name.length()); + return Base64.encodeToString(bb.array(), Base64.URL_SAFE | Base64.NO_PADDING | Base64.NO_WRAP) + name.substring(pos); } catch (Exception e) { return name; } diff --git a/src/main/java/eu/siacs/conversations/http/HttpDownloadConnection.java b/src/main/java/eu/siacs/conversations/http/HttpDownloadConnection.java index df397ac7f..03ee51de0 100644 --- a/src/main/java/eu/siacs/conversations/http/HttpDownloadConnection.java +++ b/src/main/java/eu/siacs/conversations/http/HttpDownloadConnection.java @@ -1,9 +1,10 @@ package eu.siacs.conversations.http; import android.os.PowerManager; -import androidx.annotation.Nullable; import android.util.Log; +import androidx.annotation.Nullable; + import com.google.common.base.Strings; import com.google.common.io.ByteStreams; @@ -328,7 +329,7 @@ public class HttpDownloadConnection implements Transferable { private long retrieveFileSize() throws IOException { try { - Log.d(Config.LOGTAG, "retrieve file size. interactive:" + String.valueOf(interactive)); + Log.d(Config.LOGTAG, "retrieve file size. interactive:" + interactive); changeStatus(STATUS_CHECKING); HttpURLConnection connection; final String hostname = mUrl.getHost(); diff --git a/src/main/java/eu/siacs/conversations/http/SlotRequester.java b/src/main/java/eu/siacs/conversations/http/SlotRequester.java index d9f4cdc20..b52bab39a 100644 --- a/src/main/java/eu/siacs/conversations/http/SlotRequester.java +++ b/src/main/java/eu/siacs/conversations/http/SlotRequester.java @@ -42,12 +42,12 @@ import eu.siacs.conversations.parser.IqParser; import eu.siacs.conversations.services.XmppConnectionService; import eu.siacs.conversations.xml.Element; import eu.siacs.conversations.xml.Namespace; -import eu.siacs.conversations.xmpp.stanzas.IqPacket; import eu.siacs.conversations.xmpp.Jid; +import eu.siacs.conversations.xmpp.stanzas.IqPacket; public class SlotRequester { - private XmppConnectionService service; + private final XmppConnectionService service; public SlotRequester(XmppConnectionService service) { this.service = service; diff --git a/src/main/java/eu/siacs/conversations/parser/AbstractParser.java b/src/main/java/eu/siacs/conversations/parser/AbstractParser.java index 80390be43..000fa036d 100644 --- a/src/main/java/eu/siacs/conversations/parser/AbstractParser.java +++ b/src/main/java/eu/siacs/conversations/parser/AbstractParser.java @@ -3,7 +3,6 @@ package eu.siacs.conversations.parser; import java.text.ParseException; import java.text.SimpleDateFormat; - import java.util.ArrayList; import java.util.List; import java.util.Locale; @@ -15,8 +14,8 @@ import eu.siacs.conversations.entities.MucOptions; import eu.siacs.conversations.services.XmppConnectionService; import eu.siacs.conversations.xml.Element; import eu.siacs.conversations.xmpp.InvalidJid; -import eu.siacs.conversations.xmpp.stanzas.AbstractStanza; import eu.siacs.conversations.xmpp.Jid; +import eu.siacs.conversations.xmpp.stanzas.AbstractStanza; public abstract class AbstractParser { @@ -82,7 +81,7 @@ public abstract class AbstractParser { } else { ms = 0; } - timestamp = timestamp.substring(0,19)+timestamp.substring(timestamp.length() -5,timestamp.length()); + timestamp = timestamp.substring(0,19)+timestamp.substring(timestamp.length() -5); dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ",Locale.US); return Math.min(dateFormat.parse(timestamp).getTime()+ms, System.currentTimeMillis()); } diff --git a/src/main/java/eu/siacs/conversations/parser/IqParser.java b/src/main/java/eu/siacs/conversations/parser/IqParser.java index 076487a32..d02d69ddc 100644 --- a/src/main/java/eu/siacs/conversations/parser/IqParser.java +++ b/src/main/java/eu/siacs/conversations/parser/IqParser.java @@ -1,10 +1,11 @@ package eu.siacs.conversations.parser; -import androidx.annotation.NonNull; import android.text.TextUtils; import android.util.Log; import android.util.Pair; +import androidx.annotation.NonNull; + import com.google.common.base.CharMatcher; import com.google.common.io.BaseEncoding; @@ -35,11 +36,11 @@ import eu.siacs.conversations.services.XmppConnectionService; import eu.siacs.conversations.xml.Element; import eu.siacs.conversations.xml.Namespace; import eu.siacs.conversations.xmpp.InvalidJid; +import eu.siacs.conversations.xmpp.Jid; import eu.siacs.conversations.xmpp.OnIqPacketReceived; import eu.siacs.conversations.xmpp.OnUpdateBlocklist; import eu.siacs.conversations.xmpp.forms.Data; import eu.siacs.conversations.xmpp.stanzas.IqPacket; -import eu.siacs.conversations.xmpp.Jid; public class IqParser extends AbstractParser implements OnIqPacketReceived { diff --git a/src/main/java/eu/siacs/conversations/parser/MessageParser.java b/src/main/java/eu/siacs/conversations/parser/MessageParser.java index d2e35fc4f..17e00a975 100644 --- a/src/main/java/eu/siacs/conversations/parser/MessageParser.java +++ b/src/main/java/eu/siacs/conversations/parser/MessageParser.java @@ -38,17 +38,17 @@ import eu.siacs.conversations.services.MessageArchiveService; import eu.siacs.conversations.services.QuickConversationsService; import eu.siacs.conversations.services.XmppConnectionService; import eu.siacs.conversations.utils.CryptoHelper; +import eu.siacs.conversations.xml.Element; import eu.siacs.conversations.xml.LocalizedContent; import eu.siacs.conversations.xml.Namespace; -import eu.siacs.conversations.xml.Element; import eu.siacs.conversations.xmpp.InvalidJid; +import eu.siacs.conversations.xmpp.Jid; import eu.siacs.conversations.xmpp.OnMessagePacketReceived; import eu.siacs.conversations.xmpp.chatstate.ChatState; import eu.siacs.conversations.xmpp.jingle.JingleConnectionManager; import eu.siacs.conversations.xmpp.jingle.JingleRtpConnection; import eu.siacs.conversations.xmpp.pep.Avatar; import eu.siacs.conversations.xmpp.stanzas.MessagePacket; -import eu.siacs.conversations.xmpp.Jid; public class MessageParser extends AbstractParser implements OnMessagePacketReceived { diff --git a/src/main/java/eu/siacs/conversations/parser/PresenceParser.java b/src/main/java/eu/siacs/conversations/parser/PresenceParser.java index 6d9937766..d0ec7f6bc 100644 --- a/src/main/java/eu/siacs/conversations/parser/PresenceParser.java +++ b/src/main/java/eu/siacs/conversations/parser/PresenceParser.java @@ -5,7 +5,6 @@ import android.util.Log; import java.util.ArrayList; import java.util.List; - import eu.siacs.conversations.Config; import eu.siacs.conversations.crypto.PgpEngine; import eu.siacs.conversations.crypto.axolotl.AxolotlService; @@ -22,10 +21,10 @@ import eu.siacs.conversations.utils.XmppUri; import eu.siacs.conversations.xml.Element; import eu.siacs.conversations.xml.Namespace; import eu.siacs.conversations.xmpp.InvalidJid; +import eu.siacs.conversations.xmpp.Jid; import eu.siacs.conversations.xmpp.OnPresencePacketReceived; import eu.siacs.conversations.xmpp.pep.Avatar; import eu.siacs.conversations.xmpp.stanzas.PresencePacket; -import eu.siacs.conversations.xmpp.Jid; public class PresenceParser extends AbstractParser implements OnPresencePacketReceived { diff --git a/src/main/java/eu/siacs/conversations/persistance/DatabaseBackend.java b/src/main/java/eu/siacs/conversations/persistance/DatabaseBackend.java index 4d11cfa1a..cf6f05ae7 100644 --- a/src/main/java/eu/siacs/conversations/persistance/DatabaseBackend.java +++ b/src/main/java/eu/siacs/conversations/persistance/DatabaseBackend.java @@ -11,11 +11,12 @@ import android.os.SystemClock; import android.util.Base64; import android.util.Log; +import org.json.JSONException; import org.json.JSONObject; -import org.whispersystems.libsignal.SignalProtocolAddress; import org.whispersystems.libsignal.IdentityKey; import org.whispersystems.libsignal.IdentityKeyPair; import org.whispersystems.libsignal.InvalidKeyException; +import org.whispersystems.libsignal.SignalProtocolAddress; import org.whispersystems.libsignal.state.PreKeyRecord; import org.whispersystems.libsignal.state.SessionRecord; import org.whispersystems.libsignal.state.SignedPreKeyRecord; @@ -36,8 +37,6 @@ import java.util.Set; import java.util.UUID; import java.util.concurrent.CopyOnWriteArrayList; -import org.json.JSONException; - import eu.siacs.conversations.Config; import eu.siacs.conversations.crypto.axolotl.AxolotlService; import eu.siacs.conversations.crypto.axolotl.FingerprintStatus; @@ -57,8 +56,8 @@ import eu.siacs.conversations.utils.FtsUtils; import eu.siacs.conversations.utils.MimeUtils; import eu.siacs.conversations.utils.Resolver; import eu.siacs.conversations.xmpp.InvalidJid; -import eu.siacs.conversations.xmpp.mam.MamReference; import eu.siacs.conversations.xmpp.Jid; +import eu.siacs.conversations.xmpp.mam.MamReference; public class DatabaseBackend extends SQLiteOpenHelper { @@ -107,7 +106,7 @@ public class DatabaseBackend extends SQLiteOpenHelper { + ") ON CONFLICT REPLACE" + ");"; - private static String CREATE_SIGNED_PREKEYS_STATEMENT = "CREATE TABLE " + private static final String CREATE_SIGNED_PREKEYS_STATEMENT = "CREATE TABLE " + SQLiteAxolotlStore.SIGNED_PREKEY_TABLENAME + "(" + SQLiteAxolotlStore.ACCOUNT + " TEXT, " + SQLiteAxolotlStore.ID + " INTEGER, " @@ -119,7 +118,7 @@ public class DatabaseBackend extends SQLiteOpenHelper { + ") ON CONFLICT REPLACE" + ");"; - private static String CREATE_SESSIONS_STATEMENT = "CREATE TABLE " + private static final String CREATE_SESSIONS_STATEMENT = "CREATE TABLE " + SQLiteAxolotlStore.SESSION_TABLENAME + "(" + SQLiteAxolotlStore.ACCOUNT + " TEXT, " + SQLiteAxolotlStore.NAME + " TEXT, " @@ -133,7 +132,7 @@ public class DatabaseBackend extends SQLiteOpenHelper { + ") ON CONFLICT REPLACE" + ");"; - private static String CREATE_IDENTITIES_STATEMENT = "CREATE TABLE " + private static final String CREATE_IDENTITIES_STATEMENT = "CREATE TABLE " + SQLiteAxolotlStore.IDENTITIES_TABLENAME + "(" + SQLiteAxolotlStore.ACCOUNT + " TEXT, " + SQLiteAxolotlStore.NAME + " TEXT, " @@ -152,9 +151,9 @@ public class DatabaseBackend extends SQLiteOpenHelper { + ") ON CONFLICT IGNORE" + ");"; - private static String RESOLVER_RESULTS_TABLENAME = "resolver_results"; + private static final String RESOLVER_RESULTS_TABLENAME = "resolver_results"; - private static String CREATE_RESOLVER_RESULTS_TABLE = "create table " + RESOLVER_RESULTS_TABLENAME + "(" + private static final String CREATE_RESOLVER_RESULTS_TABLE = "create table " + RESOLVER_RESULTS_TABLENAME + "(" + Resolver.Result.DOMAIN + " TEXT," + Resolver.Result.HOSTNAME + " TEXT," + Resolver.Result.IP + " BLOB," @@ -165,16 +164,16 @@ public class DatabaseBackend extends SQLiteOpenHelper { + "UNIQUE(" + Resolver.Result.DOMAIN + ") ON CONFLICT REPLACE" + ");"; - private static String CREATE_MESSAGE_TIME_INDEX = "create INDEX message_time_index ON " + Message.TABLENAME + "(" + Message.TIME_SENT + ")"; - private static String CREATE_MESSAGE_CONVERSATION_INDEX = "create INDEX message_conversation_index ON " + Message.TABLENAME + "(" + Message.CONVERSATION + ")"; - private static String CREATE_MESSAGE_DELETED_INDEX = "create index message_deleted_index ON " + Message.TABLENAME + "(" + Message.DELETED + ")"; - private static String CREATE_MESSAGE_RELATIVE_FILE_PATH_INDEX = "create INDEX message_file_path_index ON " + Message.TABLENAME + "(" + Message.RELATIVE_FILE_PATH + ")"; - private static String CREATE_MESSAGE_TYPE_INDEX = "create INDEX message_type_index ON " + Message.TABLENAME + "(" + Message.TYPE + ")"; + private static final String CREATE_MESSAGE_TIME_INDEX = "create INDEX message_time_index ON " + Message.TABLENAME + "(" + Message.TIME_SENT + ")"; + private static final String CREATE_MESSAGE_CONVERSATION_INDEX = "create INDEX message_conversation_index ON " + Message.TABLENAME + "(" + Message.CONVERSATION + ")"; + private static final String CREATE_MESSAGE_DELETED_INDEX = "create index message_deleted_index ON " + Message.TABLENAME + "(" + Message.DELETED + ")"; + private static final String CREATE_MESSAGE_RELATIVE_FILE_PATH_INDEX = "create INDEX message_file_path_index ON " + Message.TABLENAME + "(" + Message.RELATIVE_FILE_PATH + ")"; + private static final String CREATE_MESSAGE_TYPE_INDEX = "create INDEX message_type_index ON " + Message.TABLENAME + "(" + Message.TYPE + ")"; - private static String CREATE_MESSAGE_INDEX_TABLE = "CREATE VIRTUAL TABLE messages_index USING FTS4(uuid TEXT PRIMARY KEY, body TEXT)"; - private static String CREATE_MESSAGE_INSERT_TRIGGER = "CREATE TRIGGER after_message_insert AFTER INSERT ON " + Message.TABLENAME + " BEGIN INSERT INTO messages_index (uuid,body) VALUES (new.uuid,new.body); END;"; - private static String CREATE_MESSAGE_UPDATE_TRIGGER = "CREATE TRIGGER after_message_update UPDATE of uuid,body ON " + Message.TABLENAME + " BEGIN update messages_index set body=new.body,uuid=new.uuid WHERE uuid=old.uuid; END;"; - private static String COPY_PREEXISTING_ENTRIES = "INSERT into messages_index(uuid,body) select uuid,body FROM " + Message.TABLENAME + ";"; + private static final String CREATE_MESSAGE_INDEX_TABLE = "CREATE VIRTUAL TABLE messages_index USING FTS4(uuid TEXT PRIMARY KEY, body TEXT)"; + private static final String CREATE_MESSAGE_INSERT_TRIGGER = "CREATE TRIGGER after_message_insert AFTER INSERT ON " + Message.TABLENAME + " BEGIN INSERT INTO messages_index (uuid,body) VALUES (new.uuid,new.body); END;"; + private static final String CREATE_MESSAGE_UPDATE_TRIGGER = "CREATE TRIGGER after_message_update UPDATE of uuid,body ON " + Message.TABLENAME + " BEGIN update messages_index set body=new.body,uuid=new.uuid WHERE uuid=old.uuid; END;"; + private static final String COPY_PREEXISTING_ENTRIES = "INSERT into messages_index(uuid,body) select uuid,body FROM " + Message.TABLENAME + ";"; private DatabaseBackend(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); @@ -633,7 +632,7 @@ public class DatabaseBackend extends SQLiteOpenHelper { continue; } - String updateArgs[] = { + String[] updateArgs = { newServer, cursor.getString(cursor.getColumnIndex(Account.UUID)), }; @@ -872,7 +871,7 @@ public class DatabaseBackend extends SQLiteOpenHelper { SQLiteDatabase db = this.getReadableDatabase(); final String SQL = "select uuid,relativeFilePath from messages where type in (1,2,5) and deleted=0 and "+Message.RELATIVE_FILE_PATH+" is not null and conversationUuid=(select uuid from conversations where accountUuid=? and (contactJid=? or contactJid like ?)) order by timeSent desc"; final String[] args = {account, jid.toString(), jid.toString() + "/%"}; - Cursor cursor = db.rawQuery(SQL + (limit > 0 ? " limit " + String.valueOf(limit) : ""), args); + Cursor cursor = db.rawQuery(SQL + (limit > 0 ? " limit " + limit : ""), args); List<FilePath> filesPaths = new ArrayList<>(); while (cursor.moveToNext()) { filesPaths.add(new FilePath(cursor.getString(0), cursor.getString(1))); @@ -1005,7 +1004,7 @@ public class DatabaseBackend extends SQLiteOpenHelper { public void readRoster(Roster roster) { SQLiteDatabase db = this.getReadableDatabase(); Cursor cursor; - String args[] = {roster.getAccount().getUuid()}; + String[] args = {roster.getAccount().getUuid()}; cursor = db.query(Contact.TABLENAME, null, Contact.ACCOUNT + "=?", args, null, null, null); while (cursor.moveToNext()) { roster.initContact(Contact.fromCursor(cursor)); diff --git a/src/main/java/eu/siacs/conversations/persistance/FileBackend.java b/src/main/java/eu/siacs/conversations/persistance/FileBackend.java index 448613bf9..ce81694e4 100644 --- a/src/main/java/eu/siacs/conversations/persistance/FileBackend.java +++ b/src/main/java/eu/siacs/conversations/persistance/FileBackend.java @@ -20,8 +20,6 @@ import android.os.Environment; import android.os.ParcelFileDescriptor; import android.provider.MediaStore; import android.provider.OpenableColumns; -import androidx.annotation.RequiresApi; -import androidx.core.content.FileProvider; import android.system.Os; import android.system.StructStat; import android.util.Base64; @@ -30,6 +28,9 @@ import android.util.DisplayMetrics; import android.util.Log; import android.util.LruCache; +import androidx.annotation.RequiresApi; +import androidx.core.content.FileProvider; + import java.io.ByteArrayOutputStream; import java.io.Closeable; import java.io.File; @@ -277,7 +278,6 @@ public class FileBackend { } finally { if (bitmap != null) { bitmap.recycle(); - ; } } } @@ -982,9 +982,9 @@ public class FileBackend { public Uri getTakePhotoUri() { File file; if (Config.ONLY_INTERNAL_STORAGE) { - file = new File(mXmppConnectionService.getCacheDir().getAbsolutePath(), "Camera/IMG_" + this.IMAGE_DATE_FORMAT.format(new Date()) + ".jpg"); + file = new File(mXmppConnectionService.getCacheDir().getAbsolutePath(), "Camera/IMG_" + IMAGE_DATE_FORMAT.format(new Date()) + ".jpg"); } else { - file = new File(getTakePhotoPath() + "IMG_" + this.IMAGE_DATE_FORMAT.format(new Date()) + ".jpg"); + file = new File(getTakePhotoPath() + "IMG_" + IMAGE_DATE_FORMAT.format(new Date()) + ".jpg"); } file.getParentFile().mkdirs(); return getUriForFile(mXmppConnectionService, file); @@ -1408,9 +1408,6 @@ public class FileBackend { return null; } Bitmap bm = cropCenter(getAvatarUri(avatar), size, size); - if (bm == null) { - return null; - } return bm; } @@ -1447,7 +1444,7 @@ public class FileBackend { } public static class FileCopyException extends Exception { - private int resId; + private final int resId; private FileCopyException(int resId) { this.resId = resId; diff --git a/src/main/java/eu/siacs/conversations/persistance/OnPhoneContactsMerged.java b/src/main/java/eu/siacs/conversations/persistance/OnPhoneContactsMerged.java index 6a457b17f..46ad9fa7b 100644 --- a/src/main/java/eu/siacs/conversations/persistance/OnPhoneContactsMerged.java +++ b/src/main/java/eu/siacs/conversations/persistance/OnPhoneContactsMerged.java @@ -1,5 +1,5 @@ package eu.siacs.conversations.persistance; public interface OnPhoneContactsMerged { - public void phoneContactsMerged(); + void phoneContactsMerged(); } diff --git a/src/main/java/eu/siacs/conversations/services/AppRTCAudioManager.java b/src/main/java/eu/siacs/conversations/services/AppRTCAudioManager.java index 9f010087a..e1fe854ff 100644 --- a/src/main/java/eu/siacs/conversations/services/AppRTCAudioManager.java +++ b/src/main/java/eu/siacs/conversations/services/AppRTCAudioManager.java @@ -20,9 +20,10 @@ import android.media.AudioManager; import android.media.AudioRecord; import android.media.MediaRecorder; import android.os.Build; -import androidx.annotation.Nullable; import android.util.Log; +import androidx.annotation.Nullable; + import org.webrtc.ThreadUtils; import java.util.Collections; @@ -47,7 +48,7 @@ public class AppRTCAudioManager { // Handles all tasks related to Bluetooth headset devices. private final AppRTCBluetoothManager bluetoothManager; @Nullable - private AudioManager audioManager; + private final AudioManager audioManager; @Nullable private AudioManagerEvents audioManagerEvents; private AudioManagerState amState; @@ -78,7 +79,7 @@ public class AppRTCAudioManager { // avoid duplicate elements. private Set<AudioDevice> audioDevices = new HashSet<>(); // Broadcast receiver for wired headset intent broadcasts. - private BroadcastReceiver wiredHeadsetReceiver; + private final BroadcastReceiver wiredHeadsetReceiver; // Callback method for changes in audio focus. @Nullable private AudioManager.OnAudioFocusChangeListener audioFocusChangeListener; diff --git a/src/main/java/eu/siacs/conversations/services/AppRTCBluetoothManager.java b/src/main/java/eu/siacs/conversations/services/AppRTCBluetoothManager.java index b0a3b81f5..862cdf0c7 100644 --- a/src/main/java/eu/siacs/conversations/services/AppRTCBluetoothManager.java +++ b/src/main/java/eu/siacs/conversations/services/AppRTCBluetoothManager.java @@ -23,14 +23,15 @@ import android.media.AudioManager; import android.os.Handler; import android.os.Looper; import android.os.Process; -import androidx.annotation.Nullable; import android.util.Log; -import java.util.List; -import java.util.Set; +import androidx.annotation.Nullable; import org.webrtc.ThreadUtils; +import java.util.List; +import java.util.Set; + import eu.siacs.conversations.Config; import eu.siacs.conversations.utils.AppRTCUtils; diff --git a/src/main/java/eu/siacs/conversations/services/AppRTCProximitySensor.java b/src/main/java/eu/siacs/conversations/services/AppRTCProximitySensor.java index daacefa3a..2f24787c0 100644 --- a/src/main/java/eu/siacs/conversations/services/AppRTCProximitySensor.java +++ b/src/main/java/eu/siacs/conversations/services/AppRTCProximitySensor.java @@ -15,9 +15,10 @@ import android.hardware.SensorEvent; import android.hardware.SensorEventListener; import android.hardware.SensorManager; import android.os.Build; -import androidx.annotation.Nullable; import android.util.Log; +import androidx.annotation.Nullable; + import org.webrtc.ThreadUtils; import eu.siacs.conversations.Config; diff --git a/src/main/java/eu/siacs/conversations/services/AttachFileToConversationRunnable.java b/src/main/java/eu/siacs/conversations/services/AttachFileToConversationRunnable.java index c9acc6e58..a24d9e1e4 100644 --- a/src/main/java/eu/siacs/conversations/services/AttachFileToConversationRunnable.java +++ b/src/main/java/eu/siacs/conversations/services/AttachFileToConversationRunnable.java @@ -6,19 +6,18 @@ import android.net.Uri; import android.os.Build; import android.os.ParcelFileDescriptor; import android.preference.PreferenceManager; -import androidx.annotation.RequiresApi; import android.util.Log; +import androidx.annotation.RequiresApi; + import net.ypresto.androidtranscoder.MediaTranscoder; import net.ypresto.androidtranscoder.format.MediaFormatStrategy; -import net.ypresto.androidtranscoder.format.MediaFormatStrategyPresets; import java.io.File; import java.io.FileDescriptor; import java.io.FileNotFoundException; import java.util.concurrent.ExecutionException; import java.util.concurrent.Future; -import java.util.concurrent.atomic.AtomicInteger; import eu.siacs.conversations.Config; import eu.siacs.conversations.R; diff --git a/src/main/java/eu/siacs/conversations/services/AvatarService.java b/src/main/java/eu/siacs/conversations/services/AvatarService.java index 54def2386..7baee23f9 100644 --- a/src/main/java/eu/siacs/conversations/services/AvatarService.java +++ b/src/main/java/eu/siacs/conversations/services/AvatarService.java @@ -12,15 +12,15 @@ import android.graphics.Typeface; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; import android.net.Uri; -import androidx.annotation.ColorInt; -import androidx.annotation.Nullable; -import androidx.core.content.res.ResourcesCompat; import android.text.TextUtils; import android.util.DisplayMetrics; import android.util.Log; import android.util.LruCache; -import java.util.ArrayList; +import androidx.annotation.ColorInt; +import androidx.annotation.Nullable; +import androidx.core.content.res.ResourcesCompat; + import java.util.HashMap; import java.util.HashSet; import java.util.List; @@ -40,9 +40,9 @@ import eu.siacs.conversations.entities.MucOptions; import eu.siacs.conversations.entities.RawBlockable; import eu.siacs.conversations.entities.Room; import eu.siacs.conversations.utils.UIHelper; +import eu.siacs.conversations.xmpp.Jid; import eu.siacs.conversations.xmpp.OnAdvancedStreamFeaturesLoaded; import eu.siacs.conversations.xmpp.XmppConnection; -import eu.siacs.conversations.xmpp.Jid; public class AvatarService implements OnAdvancedStreamFeaturesLoaded { @@ -519,7 +519,7 @@ public class AvatarService implements OnAdvancedStreamFeaturesLoaded { this.sizes.add(size); } return PREFIX_ACCOUNT + "_" + account.getUuid() + "_" - + String.valueOf(size); + + size; } /*public Bitmap get(String name, int size) { diff --git a/src/main/java/eu/siacs/conversations/services/BarcodeProvider.java b/src/main/java/eu/siacs/conversations/services/BarcodeProvider.java index baa679599..582998aa2 100644 --- a/src/main/java/eu/siacs/conversations/services/BarcodeProvider.java +++ b/src/main/java/eu/siacs/conversations/services/BarcodeProvider.java @@ -13,9 +13,10 @@ import android.net.Uri; import android.os.CancellationSignal; import android.os.IBinder; import android.os.ParcelFileDescriptor; -import androidx.annotation.Nullable; import android.util.Log; +import androidx.annotation.Nullable; + import com.google.zxing.BarcodeFormat; import com.google.zxing.EncodeHintType; import com.google.zxing.common.BitMatrix; diff --git a/src/main/java/eu/siacs/conversations/services/ChannelDiscoveryService.java b/src/main/java/eu/siacs/conversations/services/ChannelDiscoveryService.java index a3b0b667d..a706dfb30 100644 --- a/src/main/java/eu/siacs/conversations/services/ChannelDiscoveryService.java +++ b/src/main/java/eu/siacs/conversations/services/ChannelDiscoveryService.java @@ -1,8 +1,9 @@ package eu.siacs.conversations.services; -import androidx.annotation.NonNull; import android.util.Log; +import androidx.annotation.NonNull; + import com.google.common.cache.Cache; import com.google.common.cache.CacheBuilder; @@ -22,6 +23,7 @@ import eu.siacs.conversations.entities.Room; import eu.siacs.conversations.http.HttpConnectionManager; import eu.siacs.conversations.http.services.MuclumbusService; import eu.siacs.conversations.parser.IqParser; +import eu.siacs.conversations.xmpp.Jid; import eu.siacs.conversations.xmpp.OnIqPacketReceived; import eu.siacs.conversations.xmpp.XmppConnection; import eu.siacs.conversations.xmpp.stanzas.IqPacket; @@ -32,7 +34,6 @@ import retrofit2.Callback; import retrofit2.Response; import retrofit2.Retrofit; import retrofit2.converter.gson.GsonConverterFactory; -import eu.siacs.conversations.xmpp.Jid; public class ChannelDiscoveryService { diff --git a/src/main/java/eu/siacs/conversations/services/EventReceiver.java b/src/main/java/eu/siacs/conversations/services/EventReceiver.java index c9bc3170b..b189e9a9e 100644 --- a/src/main/java/eu/siacs/conversations/services/EventReceiver.java +++ b/src/main/java/eu/siacs/conversations/services/EventReceiver.java @@ -5,9 +5,6 @@ import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.preference.PreferenceManager; - -import androidx.core.content.ContextCompat; - import android.util.Log; import com.google.common.base.Strings; diff --git a/src/main/java/eu/siacs/conversations/services/ExportBackupService.java b/src/main/java/eu/siacs/conversations/services/ExportBackupService.java index ae95573d6..95584ae23 100644 --- a/src/main/java/eu/siacs/conversations/services/ExportBackupService.java +++ b/src/main/java/eu/siacs/conversations/services/ExportBackupService.java @@ -11,9 +11,10 @@ import android.database.DatabaseUtils; import android.database.sqlite.SQLiteDatabase; import android.net.Uri; import android.os.IBinder; -import androidx.core.app.NotificationCompat; import android.util.Log; +import androidx.core.app.NotificationCompat; + import com.google.common.base.Strings; import java.io.DataOutputStream; diff --git a/src/main/java/eu/siacs/conversations/services/MemorizingTrustManager.java b/src/main/java/eu/siacs/conversations/services/MemorizingTrustManager.java index 4899f06e9..1aa82d8a3 100644 --- a/src/main/java/eu/siacs/conversations/services/MemorizingTrustManager.java +++ b/src/main/java/eu/siacs/conversations/services/MemorizingTrustManager.java @@ -34,11 +34,12 @@ import android.content.Intent; import android.net.Uri; import android.os.Handler; import android.preference.PreferenceManager; -import androidx.appcompat.app.AppCompatActivity; import android.util.Base64; import android.util.Log; import android.util.SparseArray; +import androidx.appcompat.app.AppCompatActivity; + import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; @@ -114,14 +115,14 @@ public class MemorizingTrustManager { static String KEYSTORE_DIR = "KeyStore"; static String KEYSTORE_FILE = "KeyStore.bks"; private static int decisionId = 0; - private static SparseArray<MTMDecision> openDecisions = new SparseArray<MTMDecision>(); + private static final SparseArray<MTMDecision> openDecisions = new SparseArray<MTMDecision>(); Context master; AppCompatActivity foregroundAct; NotificationManager notificationManager; Handler masterHandler; private File keyStoreFile; private KeyStore appKeyStore; - private X509TrustManager defaultTrustManager; + private final X509TrustManager defaultTrustManager; private X509TrustManager appTrustManager; private String poshCacheDir; @@ -699,7 +700,7 @@ public class MemorizingTrustManager { Object name = altName.get(1); if (name instanceof String) { si.append("["); - si.append((Integer) altName.get(0)); + si.append(altName.get(0)); si.append("] "); si.append(name); si.append("\n"); diff --git a/src/main/java/eu/siacs/conversations/services/MessageArchiveService.java b/src/main/java/eu/siacs/conversations/services/MessageArchiveService.java index 47d4a240b..592a36702 100644 --- a/src/main/java/eu/siacs/conversations/services/MessageArchiveService.java +++ b/src/main/java/eu/siacs/conversations/services/MessageArchiveService.java @@ -18,11 +18,11 @@ import eu.siacs.conversations.entities.Conversational; import eu.siacs.conversations.entities.ReceiptRequest; import eu.siacs.conversations.generator.AbstractGenerator; import eu.siacs.conversations.xml.Element; +import eu.siacs.conversations.xmpp.Jid; import eu.siacs.conversations.xmpp.OnAdvancedStreamFeaturesLoaded; import eu.siacs.conversations.xmpp.mam.MamReference; import eu.siacs.conversations.xmpp.stanzas.IqPacket; import eu.siacs.conversations.xmpp.stanzas.MessagePacket; -import eu.siacs.conversations.xmpp.Jid; public class MessageArchiveService implements OnAdvancedStreamFeaturesLoaded { @@ -89,9 +89,9 @@ public class MessageArchiveService implements OnAdvancedStreamFeaturesLoaded { return null; } - }; + } - MessageArchiveService(final XmppConnectionService service) { + MessageArchiveService(final XmppConnectionService service) { this.mXmppConnectionService = service; } @@ -370,7 +370,7 @@ public class MessageArchiveService implements OnAdvancedStreamFeaturesLoaded { done = done || (query.getActualMessageCount() == 0 && !query.isCatchup()); this.finalizeQuery(query, done); - Log.d(Config.LOGTAG, query.getAccount().getJid().asBareJid() + ": finished mam after " + query.getTotalCount() + "(" + query.getActualMessageCount() + ") messages. messages left=" + Boolean.toString(!done) + " count=" + count); + Log.d(Config.LOGTAG, query.getAccount().getJid().asBareJid() + ": finished mam after " + query.getTotalCount() + "(" + query.getActualMessageCount() + ") messages. messages left=" + !done + " count=" + count); if (query.isCatchup() && query.getActualMessageCount() > 0) { mXmppConnectionService.getNotificationService().finishBacklog(true, query.getAccount()); } @@ -459,10 +459,10 @@ public class MessageArchiveService implements OnAdvancedStreamFeaturesLoaded { private int actualCount = 0; private int actualInThisQuery = 0; private long start; - private long end; - private String queryId; + private final long end; + private final String queryId; private String reference = null; - private Account account; + private final Account account; private Conversation conversation; private PagingOrder pagingOrder = PagingOrder.NORMAL; private XmppConnectionService.OnMoreMessagesLoaded callback = null; @@ -649,7 +649,7 @@ public class MessageArchiveService implements OnAdvancedStreamFeaturesLoaded { } builder.append(this.reference); } - builder.append(", catchup=").append(Boolean.toString(catchup)); + builder.append(", catchup=").append(catchup); builder.append(", ns=").append(version.namespace); return builder.toString(); } diff --git a/src/main/java/eu/siacs/conversations/services/NotificationService.java b/src/main/java/eu/siacs/conversations/services/NotificationService.java index 7925c2010..bc7d5d97f 100644 --- a/src/main/java/eu/siacs/conversations/services/NotificationService.java +++ b/src/main/java/eu/siacs/conversations/services/NotificationService.java @@ -17,6 +17,11 @@ import android.net.Uri; import android.os.Build; import android.os.SystemClock; import android.preference.PreferenceManager; +import android.text.SpannableString; +import android.text.style.StyleSpan; +import android.util.DisplayMetrics; +import android.util.Log; + import androidx.annotation.RequiresApi; import androidx.core.app.NotificationCompat; import androidx.core.app.NotificationCompat.BigPictureStyle; @@ -26,10 +31,6 @@ import androidx.core.app.Person; import androidx.core.app.RemoteInput; import androidx.core.content.ContextCompat; import androidx.core.graphics.drawable.IconCompat; -import android.text.SpannableString; -import android.text.style.StyleSpan; -import android.util.DisplayMetrics; -import android.util.Log; import java.io.File; import java.io.IOException; diff --git a/src/main/java/eu/siacs/conversations/services/ShortcutService.java b/src/main/java/eu/siacs/conversations/services/ShortcutService.java index 7d9a74061..6b7106f74 100644 --- a/src/main/java/eu/siacs/conversations/services/ShortcutService.java +++ b/src/main/java/eu/siacs/conversations/services/ShortcutService.java @@ -8,9 +8,10 @@ import android.graphics.Bitmap; import android.graphics.drawable.Icon; import android.net.Uri; import android.os.Build; -import androidx.annotation.NonNull; import android.util.Log; +import androidx.annotation.NonNull; + import java.util.ArrayList; import java.util.HashMap; import java.util.List; diff --git a/src/main/java/eu/siacs/conversations/services/XmppConnectionService.java b/src/main/java/eu/siacs/conversations/services/XmppConnectionService.java index 23e156f67..de18882d7 100644 --- a/src/main/java/eu/siacs/conversations/services/XmppConnectionService.java +++ b/src/main/java/eu/siacs/conversations/services/XmppConnectionService.java @@ -460,8 +460,8 @@ public class XmppConnectionService extends Service { private WakeLock wakeLock; private PowerManager pm; private LruCache<String, Bitmap> mBitmapCache; - private BroadcastReceiver mInternalEventReceiver = new InternalEventReceiver(); - private BroadcastReceiver mInternalScreenEventReceiver = new InternalEventReceiver(); + private final BroadcastReceiver mInternalEventReceiver = new InternalEventReceiver(); + private final BroadcastReceiver mInternalScreenEventReceiver = new InternalEventReceiver(); private static String generateFetchKey(Account account, final Avatar avatar) { return account.getJid().asBareJid() + "_" + avatar.owner + "_" + avatar.sha1sum; @@ -800,7 +800,7 @@ public class XmppConnectionService extends Service { for (Account account : pingCandidates) { final boolean lowTimeout = isInLowPingTimeoutMode(account); account.getXmppConnection().sendPing(); - Log.d(Config.LOGTAG, account.getJid().asBareJid() + " send ping (action=" + action + ",lowTimeout=" + Boolean.toString(lowTimeout) + ")"); + Log.d(Config.LOGTAG, account.getJid().asBareJid() + " send ping (action=" + action + ",lowTimeout=" + lowTimeout + ")"); scheduleWakeUpCall(lowTimeout ? Config.LOW_PING_TIMEOUT : Config.PING_TIMEOUT, account.getUuid().hashCode()); } } @@ -1840,7 +1840,7 @@ public class XmppConnectionService extends Service { } }); } else { - Log.d(Config.LOGTAG, account.getJid().asBareJid() + ": error publishing bookmarks (retry=" + Boolean.toString(retry) + ") " + response); + Log.d(Config.LOGTAG, account.getJid().asBareJid() + ": error publishing bookmarks (retry=" + retry + ") " + response); } }); } diff --git a/src/main/java/eu/siacs/conversations/ui/AboutActivity.java b/src/main/java/eu/siacs/conversations/ui/AboutActivity.java index 916cbfbfc..3c705e639 100644 --- a/src/main/java/eu/siacs/conversations/ui/AboutActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/AboutActivity.java @@ -1,7 +1,7 @@ package eu.siacs.conversations.ui; import android.os.Bundle; -import android.preference.PreferenceManager; + import androidx.appcompat.app.AppCompatActivity; import eu.siacs.conversations.R; diff --git a/src/main/java/eu/siacs/conversations/ui/AbstractSearchableListItemActivity.java b/src/main/java/eu/siacs/conversations/ui/AbstractSearchableListItemActivity.java index 8cb5f0617..3db6aa5a1 100644 --- a/src/main/java/eu/siacs/conversations/ui/AbstractSearchableListItemActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/AbstractSearchableListItemActivity.java @@ -1,9 +1,7 @@ package eu.siacs.conversations.ui; import android.content.Context; -import androidx.databinding.DataBindingUtil; import android.os.Bundle; -import androidx.appcompat.widget.Toolbar; import android.text.Editable; import android.text.TextWatcher; import android.view.KeyEvent; @@ -16,6 +14,8 @@ import android.widget.EditText; import android.widget.ListView; import android.widget.TextView; +import androidx.databinding.DataBindingUtil; + import java.util.ArrayList; import java.util.List; @@ -92,7 +92,7 @@ public abstract class AbstractSearchableListItemActivity extends XmppActivity im public void onCreate(final Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.binding = DataBindingUtil.setContentView(this,R.layout.activity_choose_contact); - setSupportActionBar((Toolbar) binding.toolbar); + setSupportActionBar(binding.toolbar); configureActionBar(getSupportActionBar()); this.binding.chooseContactList.setFastScrollEnabled(true); mListItemsAdapter = new ListItemAdapter(this, listItems); diff --git a/src/main/java/eu/siacs/conversations/ui/ActionBarActivity.java b/src/main/java/eu/siacs/conversations/ui/ActionBarActivity.java index 38835161b..8564bcfcb 100644 --- a/src/main/java/eu/siacs/conversations/ui/ActionBarActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/ActionBarActivity.java @@ -1,8 +1,11 @@ package eu.siacs.conversations.ui; +import android.view.MenuItem; +import android.view.View; + import androidx.appcompat.app.ActionBar; import androidx.appcompat.app.AppCompatActivity; -import android.view.MenuItem; +import androidx.appcompat.widget.Toolbar; public abstract class ActionBarActivity extends AppCompatActivity { @@ -17,6 +20,10 @@ public abstract class ActionBarActivity extends AppCompatActivity { } } + public void setSupportActionBar(View toolbar) { + super.setSupportActionBar((Toolbar) toolbar); + } + @Override public boolean onOptionsItemSelected(final MenuItem item) { switch (item.getItemId()) { diff --git a/src/main/java/eu/siacs/conversations/ui/BlockContactDialog.java b/src/main/java/eu/siacs/conversations/ui/BlockContactDialog.java index 922b272f0..6f4d77c51 100644 --- a/src/main/java/eu/siacs/conversations/ui/BlockContactDialog.java +++ b/src/main/java/eu/siacs/conversations/ui/BlockContactDialog.java @@ -1,11 +1,12 @@ package eu.siacs.conversations.ui; -import androidx.databinding.DataBindingUtil; -import androidx.annotation.StringRes; -import androidx.appcompat.app.AlertDialog; import android.view.View; import android.widget.Toast; +import androidx.annotation.StringRes; +import androidx.appcompat.app.AlertDialog; +import androidx.databinding.DataBindingUtil; + import eu.siacs.conversations.R; import eu.siacs.conversations.databinding.DialogBlockContactBinding; import eu.siacs.conversations.entities.Blockable; diff --git a/src/main/java/eu/siacs/conversations/ui/BlocklistActivity.java b/src/main/java/eu/siacs/conversations/ui/BlocklistActivity.java index 01f16a510..55cf9ba03 100644 --- a/src/main/java/eu/siacs/conversations/ui/BlocklistActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/BlocklistActivity.java @@ -1,11 +1,12 @@ package eu.siacs.conversations.ui; import android.os.Bundle; -import androidx.fragment.app.Fragment; -import androidx.fragment.app.FragmentTransaction; import android.text.Editable; import android.widget.Toast; +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentTransaction; + import java.util.Collections; import eu.siacs.conversations.R; @@ -14,8 +15,8 @@ import eu.siacs.conversations.entities.Blockable; import eu.siacs.conversations.entities.ListItem; import eu.siacs.conversations.entities.RawBlockable; import eu.siacs.conversations.ui.interfaces.OnBackendConnected; -import eu.siacs.conversations.xmpp.OnUpdateBlocklist; import eu.siacs.conversations.xmpp.Jid; +import eu.siacs.conversations.xmpp.OnUpdateBlocklist; public class BlocklistActivity extends AbstractSearchableListItemActivity implements OnUpdateBlocklist { diff --git a/src/main/java/eu/siacs/conversations/ui/ChangePasswordActivity.java b/src/main/java/eu/siacs/conversations/ui/ChangePasswordActivity.java index 2fd853564..c2a334821 100644 --- a/src/main/java/eu/siacs/conversations/ui/ChangePasswordActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/ChangePasswordActivity.java @@ -2,12 +2,13 @@ package eu.siacs.conversations.ui; import android.content.Intent; import android.os.Bundle; -import com.google.android.material.textfield.TextInputLayout; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; +import com.google.android.material.textfield.TextInputLayout; + import eu.siacs.conversations.R; import eu.siacs.conversations.entities.Account; import eu.siacs.conversations.services.XmppConnectionService; @@ -16,7 +17,7 @@ import eu.siacs.conversations.ui.widget.DisabledActionModeCallback; public class ChangePasswordActivity extends XmppActivity implements XmppConnectionService.OnAccountPasswordChanged { private Button mChangePasswordButton; - private View.OnClickListener mOnChangePasswordButtonClicked = new View.OnClickListener() { + private final View.OnClickListener mOnChangePasswordButtonClicked = new View.OnClickListener() { @Override public void onClick(View view) { if (mAccount != null) { diff --git a/src/main/java/eu/siacs/conversations/ui/ChannelDiscoveryActivity.java b/src/main/java/eu/siacs/conversations/ui/ChannelDiscoveryActivity.java index 1f6b1d847..4687e5f63 100644 --- a/src/main/java/eu/siacs/conversations/ui/ChannelDiscoveryActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/ChannelDiscoveryActivity.java @@ -4,11 +4,9 @@ import android.app.AlertDialog; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; -import androidx.databinding.DataBindingUtil; import android.net.Uri; import android.os.Bundle; import android.preference.PreferenceManager; -import androidx.appcompat.widget.Toolbar; import android.text.Html; import android.text.method.LinkMovementMethod; import android.view.KeyEvent; @@ -20,6 +18,8 @@ import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; +import androidx.databinding.DataBindingUtil; + import java.util.Collections; import java.util.List; import java.util.concurrent.atomic.AtomicReference; @@ -77,7 +77,7 @@ public class ChannelDiscoveryActivity extends XmppActivity implements MenuItem.O protected void onCreate(final Bundle savedInstanceState) { super.onCreate(savedInstanceState); binding = DataBindingUtil.setContentView(this, R.layout.activity_channel_discovery); - setSupportActionBar((Toolbar) binding.toolbar); + setSupportActionBar(binding.toolbar); configureActionBar(getSupportActionBar(), true); binding.list.setAdapter(this.adapter); this.adapter.setOnChannelSearchResultSelectedListener(this); diff --git a/src/main/java/eu/siacs/conversations/ui/ChooseContactActivity.java b/src/main/java/eu/siacs/conversations/ui/ChooseContactActivity.java index ecb21ed73..9da5c7546 100644 --- a/src/main/java/eu/siacs/conversations/ui/ChooseContactActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/ChooseContactActivity.java @@ -5,11 +5,6 @@ import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; import android.os.Bundle; -import androidx.annotation.NonNull; -import androidx.annotation.StringRes; -import androidx.fragment.app.Fragment; -import androidx.fragment.app.FragmentTransaction; -import androidx.appcompat.app.ActionBar; import android.view.ActionMode; import android.view.KeyEvent; import android.view.Menu; @@ -21,6 +16,12 @@ import android.widget.AdapterView; import android.widget.ListView; import android.widget.TextView; +import androidx.annotation.NonNull; +import androidx.annotation.StringRes; +import androidx.appcompat.app.ActionBar; +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentTransaction; + import com.google.common.base.Strings; import java.util.ArrayList; @@ -50,15 +51,15 @@ public class ChooseContactActivity extends AbstractSearchableListItemActivity im public static final String EXTRA_SHOW_ENTER_JID = "extra_show_enter_jid"; public static final String EXTRA_CONVERSATION = "extra_conversation"; private static final String EXTRA_FILTERED_CONTACTS = "extra_filtered_contacts"; - private List<String> mActivatedAccounts = new ArrayList<>(); - private Set<String> selected = new HashSet<>(); + private final List<String> mActivatedAccounts = new ArrayList<>(); + private final Set<String> selected = new HashSet<>(); private Set<String> filterContacts; private boolean showEnterJid = false; private boolean startSearching = false; private boolean multiple = false; - private PendingItem<ActivityResult> postponedActivityResult = new PendingItem<>(); + private final PendingItem<ActivityResult> postponedActivityResult = new PendingItem<>(); public static Intent create(Activity activity, Conversation conversation) { final Intent intent = new Intent(activity, ChooseContactActivity.class); @@ -380,7 +381,7 @@ public class ChooseContactActivity extends AbstractSearchableListItemActivity im } @Override - public void onRequestPermissionsResult(int requestCode, @NonNull String permissions[], @NonNull int[] grantResults) { + public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { ScanActivity.onRequestPermissionResult(this, requestCode, grantResults); } diff --git a/src/main/java/eu/siacs/conversations/ui/ConferenceDetailsActivity.java b/src/main/java/eu/siacs/conversations/ui/ConferenceDetailsActivity.java index 7bda9b21c..3d29bb89a 100644 --- a/src/main/java/eu/siacs/conversations/ui/ConferenceDetailsActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/ConferenceDetailsActivity.java @@ -3,10 +3,7 @@ package eu.siacs.conversations.ui; import android.app.PendingIntent; import android.content.Context; import android.content.Intent; -import androidx.databinding.DataBindingUtil; import android.os.Bundle; -import androidx.appcompat.app.AlertDialog; -import androidx.appcompat.widget.Toolbar; import android.text.Editable; import android.text.SpannableStringBuilder; import android.text.TextWatcher; @@ -16,6 +13,9 @@ import android.view.View; import android.view.View.OnClickListener; import android.widget.Toast; +import androidx.appcompat.app.AlertDialog; +import androidx.databinding.DataBindingUtil; + import java.util.Collections; import java.util.List; import java.util.concurrent.atomic.AtomicInteger; @@ -48,8 +48,8 @@ import eu.siacs.conversations.utils.EmojiWrapper; import eu.siacs.conversations.utils.StringUtils; import eu.siacs.conversations.utils.StylingHelper; import eu.siacs.conversations.utils.XmppUri; -import me.drakeet.support.toast.ToastCompat; import eu.siacs.conversations.xmpp.Jid; +import me.drakeet.support.toast.ToastCompat; import static eu.siacs.conversations.entities.Bookmark.printableValue; import static eu.siacs.conversations.utils.StringUtils.changed; @@ -65,7 +65,7 @@ public class ConferenceDetailsActivity extends XmppActivity implements OnConvers private boolean mAdvancedMode = false; - private UiCallback<Conversation> renameCallback = new UiCallback<Conversation>() { + private final UiCallback<Conversation> renameCallback = new UiCallback<Conversation>() { @Override public void success(Conversation object) { displayToast(getString(R.string.your_nick_has_been_changed)); @@ -86,7 +86,7 @@ public class ConferenceDetailsActivity extends XmppActivity implements OnConvers } }; - private OnClickListener mNotifyStatusClickListener = new OnClickListener() { + private final OnClickListener mNotifyStatusClickListener = new OnClickListener() { @Override public void onClick(View v) { AlertDialog.Builder builder = new AlertDialog.Builder(ConferenceDetailsActivity.this); @@ -118,7 +118,7 @@ public class ConferenceDetailsActivity extends XmppActivity implements OnConvers } }; - private OnClickListener mChangeConferenceSettings = new OnClickListener() { + private final OnClickListener mChangeConferenceSettings = new OnClickListener() { @Override public void onClick(View v) { final MucOptions mucOptions = mConversation.getMucOptions(); @@ -160,7 +160,7 @@ public class ConferenceDetailsActivity extends XmppActivity implements OnConvers super.onCreate(savedInstanceState); this.binding = DataBindingUtil.setContentView(this, R.layout.activity_muc_details); this.binding.changeConferenceButton.setOnClickListener(this.mChangeConferenceSettings); - setSupportActionBar((Toolbar) binding.toolbar); + setSupportActionBar(binding.toolbar); configureActionBar(getSupportActionBar()); this.binding.editNickButton.setOnClickListener(v -> quickEdit(mConversation.getMucOptions().getActualNick(), R.string.nickname, diff --git a/src/main/java/eu/siacs/conversations/ui/ContactDetailsActivity.java b/src/main/java/eu/siacs/conversations/ui/ContactDetailsActivity.java index 181ad281f..74f9e7068 100644 --- a/src/main/java/eu/siacs/conversations/ui/ContactDetailsActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/ContactDetailsActivity.java @@ -6,7 +6,6 @@ import android.content.DialogInterface; import android.content.Intent; import android.content.SharedPreferences; import android.content.pm.PackageManager; -import androidx.databinding.DataBindingUtil; import android.net.Uri; import android.os.Build; import android.os.Bundle; @@ -14,9 +13,6 @@ import android.preference.PreferenceManager; import android.provider.ContactsContract.CommonDataKinds; import android.provider.ContactsContract.Contacts; import android.provider.ContactsContract.Intents; -import androidx.annotation.NonNull; -import androidx.appcompat.app.AlertDialog; -import androidx.appcompat.widget.Toolbar; import android.text.Spannable; import android.text.SpannableString; import android.text.style.RelativeSizeSpan; @@ -30,6 +26,10 @@ import android.widget.CompoundButton.OnCheckedChangeListener; import android.widget.TextView; import android.widget.Toast; +import androidx.annotation.NonNull; +import androidx.appcompat.app.AlertDialog; +import androidx.databinding.DataBindingUtil; + import org.openintents.openpgp.util.OpenPgpUtils; import java.util.Collection; @@ -73,14 +73,14 @@ public class ContactDetailsActivity extends OmemoActivity implements OnAccountUp private MediaAdapter mMediaAdapter; private Contact contact; - private DialogInterface.OnClickListener removeFromRoster = new DialogInterface.OnClickListener() { + private final DialogInterface.OnClickListener removeFromRoster = new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { xmppConnectionService.deleteContactOnServer(contact); } }; - private OnCheckedChangeListener mOnSendCheckedChange = new OnCheckedChangeListener() { + private final OnCheckedChangeListener mOnSendCheckedChange = new OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { @@ -96,7 +96,7 @@ public class ContactDetailsActivity extends OmemoActivity implements OnAccountUp } } }; - private OnCheckedChangeListener mOnReceiveCheckedChange = new OnCheckedChangeListener() { + private final OnCheckedChangeListener mOnReceiveCheckedChange = new OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { @@ -197,7 +197,7 @@ public class ContactDetailsActivity extends OmemoActivity implements OnAccountUp this.messageFingerprint = getIntent().getStringExtra("fingerprint"); this.binding = DataBindingUtil.setContentView(this, R.layout.activity_contact_details); - setSupportActionBar((Toolbar) binding.toolbar); + setSupportActionBar(binding.toolbar); configureActionBar(getSupportActionBar()); binding.showInactiveDevices.setOnClickListener(v -> { showInactiveOmemo = !showInactiveOmemo; @@ -232,7 +232,7 @@ public class ContactDetailsActivity extends OmemoActivity implements OnAccountUp } @Override - public void onRequestPermissionsResult(int requestCode, @NonNull String permissions[], @NonNull int[] grantResults) { + public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { if (grantResults.length > 0) if (grantResults[0] == PackageManager.PERMISSION_GRANTED) { if (requestCode == REQUEST_SYNC_CONTACTS && xmppConnectionServiceBound) { @@ -371,22 +371,14 @@ public class ContactDetailsActivity extends OmemoActivity implements OnAccountUp binding.detailsSendPresence.setText(R.string.send_presence_updates); } else { binding.detailsSendPresence.setText(R.string.preemptively_grant); - if (contact.getOption(Contact.Options.PREEMPTIVE_GRANT)) { - binding.detailsSendPresence.setChecked(true); - } else { - binding.detailsSendPresence.setChecked(false); - } + binding.detailsSendPresence.setChecked(contact.getOption(Contact.Options.PREEMPTIVE_GRANT)); } if (contact.getOption(Contact.Options.TO)) { binding.detailsReceivePresence.setText(R.string.receive_presence_updates); binding.detailsReceivePresence.setChecked(true); } else { binding.detailsReceivePresence.setText(R.string.ask_for_presence_updates); - if (contact.getOption(Contact.Options.ASKING)) { - binding.detailsReceivePresence.setChecked(true); - } else { - binding.detailsReceivePresence.setChecked(false); - } + binding.detailsReceivePresence.setChecked(contact.getOption(Contact.Options.ASKING)); } if (contact.getAccount().isOnlineAndConnected()) { binding.detailsReceivePresence.setEnabled(true); @@ -476,8 +468,8 @@ public class ContactDetailsActivity extends OmemoActivity implements OnAccountUp if (Config.supportOpenPgp() && contact.getPgpKeyId() != 0) { hasKeys = true; View view = inflater.inflate(R.layout.contact_key, binding.detailsContactKeys, false); - TextView key = (TextView) view.findViewById(R.id.key); - TextView keyType = (TextView) view.findViewById(R.id.key_type); + TextView key = view.findViewById(R.id.key); + TextView keyType = view.findViewById(R.id.key_type); keyType.setText(R.string.openpgp_key_id); if ("pgp".equals(messageFingerprint)) { keyType.setTextAppearance(this, R.style.TextAppearance_Conversations_Caption_Highlight); diff --git a/src/main/java/eu/siacs/conversations/ui/ConversationActivity.java b/src/main/java/eu/siacs/conversations/ui/ConversationActivity.java index 8ffe98c78..8e23da5bc 100644 --- a/src/main/java/eu/siacs/conversations/ui/ConversationActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/ConversationActivity.java @@ -2,6 +2,7 @@ package eu.siacs.conversations.ui; import android.content.Intent; import android.os.Bundle; + import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; diff --git a/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java b/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java index 8fd2cfd12..77bec0a1b 100644 --- a/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java +++ b/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java @@ -3,29 +3,22 @@ package eu.siacs.conversations.ui; import android.Manifest; import android.annotation.SuppressLint; import android.app.Activity; -import android.app.FragmentManager; -import android.content.SharedPreferences; -import android.content.pm.PackageManager; -import androidx.databinding.DataBindingUtil; -import android.net.Uri; -import android.os.Build; -import android.preference.PreferenceManager; -import android.provider.MediaStore; -import androidx.annotation.IdRes; -import androidx.annotation.NonNull; -import androidx.annotation.StringRes; -import androidx.appcompat.app.AlertDialog; import android.app.Fragment; +import android.app.FragmentManager; import android.app.PendingIntent; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.content.IntentSender.SendIntentException; +import android.content.SharedPreferences; +import android.content.pm.PackageManager; +import android.net.Uri; +import android.os.Build; import android.os.Bundle; import android.os.Handler; import android.os.SystemClock; -import androidx.core.view.inputmethod.InputConnectionCompat; -import androidx.core.view.inputmethod.InputContentInfoCompat; +import android.preference.PreferenceManager; +import android.provider.MediaStore; import android.text.Editable; import android.text.TextUtils; import android.util.Log; @@ -52,6 +45,14 @@ import android.widget.PopupMenu; import android.widget.TextView.OnEditorActionListener; import android.widget.Toast; +import androidx.annotation.IdRes; +import androidx.annotation.NonNull; +import androidx.annotation.StringRes; +import androidx.appcompat.app.AlertDialog; +import androidx.core.view.inputmethod.InputConnectionCompat; +import androidx.core.view.inputmethod.InputContentInfoCompat; +import androidx.databinding.DataBindingUtil; + import com.google.common.base.Optional; import java.util.ArrayList; @@ -117,6 +118,7 @@ import eu.siacs.conversations.utils.StylingHelper; import eu.siacs.conversations.utils.TimeFrameUtils; import eu.siacs.conversations.utils.UIHelper; import eu.siacs.conversations.xml.Namespace; +import eu.siacs.conversations.xmpp.Jid; import eu.siacs.conversations.xmpp.XmppConnection; import eu.siacs.conversations.xmpp.chatstate.ChatState; import eu.siacs.conversations.xmpp.jingle.AbstractJingleConnection; @@ -125,7 +127,6 @@ import eu.siacs.conversations.xmpp.jingle.JingleFileTransferConnection; import eu.siacs.conversations.xmpp.jingle.Media; import eu.siacs.conversations.xmpp.jingle.OngoingRtpSession; import eu.siacs.conversations.xmpp.jingle.RtpCapability; -import eu.siacs.conversations.xmpp.Jid; import static eu.siacs.conversations.ui.XmppActivity.EXTRA_ACCOUNT; import static eu.siacs.conversations.ui.XmppActivity.REQUEST_INVITE_TO_CONVERSATION; @@ -848,7 +849,7 @@ public class ConversationFragment extends XmppFragment implements EditMessage.Ke case ATTACHMENT_CHOICE_LOCATION: double latitude = data.getDoubleExtra("latitude", 0); double longitude = data.getDoubleExtra("longitude", 0); - Uri geo = Uri.parse("geo:" + String.valueOf(latitude) + "," + String.valueOf(longitude)); + Uri geo = Uri.parse("geo:" + latitude + "," + longitude); mediaPreviewAdapter.addMediaPreviews(Attachment.of(getActivity(), geo, Attachment.Type.LOCATION)); toggleInputMethod(); break; @@ -2099,7 +2100,7 @@ public class ConversationFragment extends XmppFragment implements EditMessage.Ke } stopScrolling(); - Log.d(Config.LOGTAG, "reInit(hasExtras=" + Boolean.toString(hasExtras) + ")"); + Log.d(Config.LOGTAG, "reInit(hasExtras=" + hasExtras + ")"); if (this.conversation.isRead() && hasExtras) { Log.d(Config.LOGTAG, "trimming conversation"); @@ -2122,7 +2123,7 @@ public class ConversationFragment extends XmppFragment implements EditMessage.Ke refresh(false); activity.invalidateOptionsMenu(); this.conversation.messagesLoaded.set(true); - Log.d(Config.LOGTAG, "scrolledToBottomAndNoPending=" + Boolean.toString(scrolledToBottomAndNoPending)); + Log.d(Config.LOGTAG, "scrolledToBottomAndNoPending=" + scrolledToBottomAndNoPending); if (hasExtras || scrolledToBottomAndNoPending) { resetUnreadMessagesCount(); diff --git a/src/main/java/eu/siacs/conversations/ui/ConversationsActivity.java b/src/main/java/eu/siacs/conversations/ui/ConversationsActivity.java index caac16ec7..7f33ef05f 100644 --- a/src/main/java/eu/siacs/conversations/ui/ConversationsActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/ConversationsActivity.java @@ -39,21 +39,21 @@ import android.content.ActivityNotFoundException; import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; -import androidx.databinding.DataBindingUtil; import android.net.Uri; import android.os.Bundle; import android.provider.Settings; -import androidx.annotation.IdRes; -import androidx.annotation.NonNull; -import androidx.appcompat.app.ActionBar; -import androidx.appcompat.app.AlertDialog; -import androidx.appcompat.widget.Toolbar; import android.util.Log; import android.view.KeyEvent; import android.view.Menu; import android.view.MenuItem; import android.widget.Toast; +import androidx.annotation.IdRes; +import androidx.annotation.NonNull; +import androidx.appcompat.app.ActionBar; +import androidx.appcompat.app.AlertDialog; +import androidx.databinding.DataBindingUtil; + import org.openintents.openpgp.util.OpenPgpApi; import java.util.Arrays; @@ -80,8 +80,8 @@ import eu.siacs.conversations.utils.EmojiWrapper; import eu.siacs.conversations.utils.ExceptionHelper; import eu.siacs.conversations.utils.SignupUtils; import eu.siacs.conversations.utils.XmppUri; -import eu.siacs.conversations.xmpp.OnUpdateBlocklist; import eu.siacs.conversations.xmpp.Jid; +import eu.siacs.conversations.xmpp.OnUpdateBlocklist; import static eu.siacs.conversations.ui.ConversationFragment.REQUEST_DECRYPT_PGP; @@ -97,7 +97,7 @@ public class ConversationsActivity extends XmppActivity implements OnConversatio public static final String EXTRA_POST_INIT_ACTION = "post_init_action"; public static final String POST_ACTION_RECORD_VOICE = "record_voice"; - private static List<String> VIEW_AND_SHARE_ACTIONS = Arrays.asList( + private static final List<String> VIEW_AND_SHARE_ACTIONS = Arrays.asList( ACTION_VIEW_CONVERSATION, Intent.ACTION_SEND, Intent.ACTION_SEND_MULTIPLE @@ -114,7 +114,7 @@ public class ConversationsActivity extends XmppActivity implements OnConversatio private final PendingItem<ActivityResult> postponedActivityResult = new PendingItem<>(); private ActivityConversationsBinding binding; private boolean mActivityPaused = true; - private AtomicBoolean mRedirectInProcess = new AtomicBoolean(false); + private final AtomicBoolean mRedirectInProcess = new AtomicBoolean(false); private static boolean isViewOrShareIntent(Intent i) { Log.d(Config.LOGTAG, "action: " + (i == null ? null : i.getAction())); @@ -359,7 +359,7 @@ public class ConversationsActivity extends XmppActivity implements OnConversatio ConversationMenuConfigurator.reloadFeatures(this); OmemoSetting.load(this); this.binding = DataBindingUtil.setContentView(this, R.layout.activity_conversations); - setSupportActionBar((Toolbar) binding.toolbar); + setSupportActionBar(binding.toolbar); configureActionBar(getSupportActionBar()); this.getFragmentManager().addOnBackStackChangedListener(this::invalidateActionBarTitle); this.getFragmentManager().addOnBackStackChangedListener(this::showDialogsIfMainIsOverview); @@ -660,7 +660,7 @@ public class ConversationsActivity extends XmppActivity implements OnConversatio if (!mActivityPaused && pendingViewIntent.peek() == null) { xmppConnectionService.sendReadMarker(conversation, upToUuid); } else { - Log.d(Config.LOGTAG, "ignoring read callback. mActivityPaused=" + Boolean.toString(mActivityPaused)); + Log.d(Config.LOGTAG, "ignoring read callback. mActivityPaused=" + mActivityPaused); } } diff --git a/src/main/java/eu/siacs/conversations/ui/ConversationsOverviewFragment.java b/src/main/java/eu/siacs/conversations/ui/ConversationsOverviewFragment.java index 17bbdd141..eebd94df5 100644 --- a/src/main/java/eu/siacs/conversations/ui/ConversationsOverviewFragment.java +++ b/src/main/java/eu/siacs/conversations/ui/ConversationsOverviewFragment.java @@ -33,14 +33,9 @@ import android.app.Activity; import android.app.AlertDialog; import android.app.Fragment; import android.content.Intent; -import androidx.databinding.DataBindingUtil; import android.graphics.Canvas; import android.graphics.Paint; import android.os.Bundle; -import com.google.android.material.snackbar.Snackbar; -import androidx.recyclerview.widget.LinearLayoutManager; -import androidx.recyclerview.widget.RecyclerView; -import androidx.recyclerview.widget.ItemTouchHelper; import android.util.Log; import android.view.LayoutInflater; import android.view.Menu; @@ -50,6 +45,12 @@ import android.view.View; import android.view.ViewGroup; import android.widget.Toast; +import androidx.databinding.DataBindingUtil; +import androidx.recyclerview.widget.ItemTouchHelper; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + +import com.google.android.material.snackbar.Snackbar; import com.google.common.collect.Collections2; import java.util.ArrayList; @@ -88,9 +89,9 @@ public class ConversationsOverviewFragment extends XmppFragment { private ConversationAdapter conversationsAdapter; private XmppActivity activity; private float mSwipeEscapeVelocity = 0f; - private PendingActionHelper pendingActionHelper = new PendingActionHelper(); + private final PendingActionHelper pendingActionHelper = new PendingActionHelper(); - private ItemTouchHelper.SimpleCallback callback = new ItemTouchHelper.SimpleCallback(0,LEFT|RIGHT) { + private final ItemTouchHelper.SimpleCallback callback = new ItemTouchHelper.SimpleCallback(0,LEFT|RIGHT) { @Override public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) { //todo maybe we can manually changing the position of the conversation diff --git a/src/main/java/eu/siacs/conversations/ui/CreatePrivateGroupChatDialog.java b/src/main/java/eu/siacs/conversations/ui/CreatePrivateGroupChatDialog.java index 5ce510a22..6e4098264 100644 --- a/src/main/java/eu/siacs/conversations/ui/CreatePrivateGroupChatDialog.java +++ b/src/main/java/eu/siacs/conversations/ui/CreatePrivateGroupChatDialog.java @@ -2,12 +2,13 @@ package eu.siacs.conversations.ui; import android.app.Dialog; import android.content.Context; -import androidx.databinding.DataBindingUtil; import android.os.Bundle; +import android.widget.Spinner; + import androidx.annotation.NonNull; -import androidx.fragment.app.DialogFragment; import androidx.appcompat.app.AlertDialog; -import android.widget.Spinner; +import androidx.databinding.DataBindingUtil; +import androidx.fragment.app.DialogFragment; import java.util.ArrayList; import java.util.List; diff --git a/src/main/java/eu/siacs/conversations/ui/CreatePublicChannelDialog.java b/src/main/java/eu/siacs/conversations/ui/CreatePublicChannelDialog.java index 4ddbcb551..3c23b06eb 100644 --- a/src/main/java/eu/siacs/conversations/ui/CreatePublicChannelDialog.java +++ b/src/main/java/eu/siacs/conversations/ui/CreatePublicChannelDialog.java @@ -4,11 +4,7 @@ import android.app.Activity; import android.app.Dialog; import android.content.Context; import android.content.DialogInterface; -import androidx.databinding.DataBindingUtil; import android.os.Bundle; -import androidx.annotation.NonNull; -import androidx.fragment.app.DialogFragment; -import androidx.appcompat.app.AlertDialog; import android.text.Editable; import android.text.TextUtils; import android.text.TextWatcher; @@ -16,6 +12,11 @@ import android.view.View; import android.widget.AdapterView; import android.widget.Button; +import androidx.annotation.NonNull; +import androidx.appcompat.app.AlertDialog; +import androidx.databinding.DataBindingUtil; +import androidx.fragment.app.DialogFragment; + import java.security.SecureRandom; import java.util.ArrayList; import java.util.Collection; @@ -29,8 +30,8 @@ import eu.siacs.conversations.ui.adapter.KnownHostsAdapter; import eu.siacs.conversations.ui.interfaces.OnBackendConnected; import eu.siacs.conversations.ui.util.DelayedHintHelper; import eu.siacs.conversations.utils.CryptoHelper; -import eu.siacs.conversations.xmpp.XmppConnection; import eu.siacs.conversations.xmpp.Jid; +import eu.siacs.conversations.xmpp.XmppConnection; public class CreatePublicChannelDialog extends DialogFragment implements OnBackendConnected { diff --git a/src/main/java/eu/siacs/conversations/ui/EditAccountActivity.java b/src/main/java/eu/siacs/conversations/ui/EditAccountActivity.java index 8765e8529..a8f8f3cd2 100644 --- a/src/main/java/eu/siacs/conversations/ui/EditAccountActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/EditAccountActivity.java @@ -6,7 +6,6 @@ import android.content.ActivityNotFoundException; import android.content.Intent; import android.content.IntentSender; import android.content.SharedPreferences; -import androidx.databinding.DataBindingUtil; import android.graphics.Bitmap; import android.net.Uri; import android.os.Build; @@ -16,11 +15,6 @@ import android.preference.PreferenceManager; import android.provider.Settings; import android.security.KeyChain; import android.security.KeyChainAliasCallback; -import com.google.android.material.textfield.TextInputLayout; -import androidx.appcompat.app.ActionBar; -import androidx.appcompat.app.AlertDialog; -import androidx.appcompat.app.AlertDialog.Builder; -import androidx.appcompat.widget.Toolbar; import android.text.Editable; import android.text.TextUtils; import android.text.TextWatcher; @@ -34,6 +28,12 @@ import android.widget.EditText; import android.widget.ImageView; import android.widget.Toast; +import androidx.appcompat.app.ActionBar; +import androidx.appcompat.app.AlertDialog; +import androidx.appcompat.app.AlertDialog.Builder; +import androidx.databinding.DataBindingUtil; + +import com.google.android.material.textfield.TextInputLayout; import com.google.common.base.CharMatcher; import org.openintents.openpgp.util.OpenPgpUtils; @@ -317,7 +317,7 @@ public class EditAccountActivity extends OmemoActivity implements OnAccountUpdat } }; - private View.OnFocusChangeListener mEditTextFocusListener = new View.OnFocusChangeListener() { + private final View.OnFocusChangeListener mEditTextFocusListener = new View.OnFocusChangeListener() { @Override public void onFocusChange(View view, boolean b) { EditText et = (EditText) view; @@ -597,7 +597,7 @@ public class EditAccountActivity extends OmemoActivity implements OnAccountUpdat this.mSavedInstanceInit = savedInstanceState.getBoolean("initMode", false); } this.binding = DataBindingUtil.setContentView(this, R.layout.activity_edit_account); - setSupportActionBar((Toolbar) binding.toolbar); + setSupportActionBar(binding.toolbar); binding.accountJid.addTextChangedListener(this.mTextWatcher); binding.accountJid.setOnFocusChangeListener(this.mEditTextFocusListener); this.binding.accountPassword.addTextChangedListener(this.mTextWatcher); diff --git a/src/main/java/eu/siacs/conversations/ui/EnterJidDialog.java b/src/main/java/eu/siacs/conversations/ui/EnterJidDialog.java index a6481f2f3..2f8c98d76 100644 --- a/src/main/java/eu/siacs/conversations/ui/EnterJidDialog.java +++ b/src/main/java/eu/siacs/conversations/ui/EnterJidDialog.java @@ -2,16 +2,17 @@ package eu.siacs.conversations.ui; import android.app.Activity; import android.app.Dialog; -import androidx.databinding.DataBindingUtil; import android.os.Bundle; -import androidx.annotation.NonNull; -import androidx.fragment.app.DialogFragment; -import androidx.appcompat.app.AlertDialog; import android.text.Editable; import android.text.TextWatcher; import android.view.View; import android.widget.ArrayAdapter; +import androidx.annotation.NonNull; +import androidx.appcompat.app.AlertDialog; +import androidx.databinding.DataBindingUtil; +import androidx.fragment.app.DialogFragment; + import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; diff --git a/src/main/java/eu/siacs/conversations/ui/JoinConferenceDialog.java b/src/main/java/eu/siacs/conversations/ui/JoinConferenceDialog.java index 9a55467f9..e17aab3a4 100644 --- a/src/main/java/eu/siacs/conversations/ui/JoinConferenceDialog.java +++ b/src/main/java/eu/siacs/conversations/ui/JoinConferenceDialog.java @@ -2,18 +2,18 @@ package eu.siacs.conversations.ui; import android.app.Activity; import android.app.Dialog; -import androidx.databinding.DataBindingUtil; -import androidx.annotation.NonNull; -import com.google.android.material.textfield.TextInputLayout; -import androidx.fragment.app.DialogFragment; import android.content.Context; import android.content.DialogInterface; import android.os.Bundle; -import androidx.appcompat.app.AlertDialog; -import android.view.KeyEvent; import android.widget.AutoCompleteTextView; import android.widget.Spinner; -import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.appcompat.app.AlertDialog; +import androidx.databinding.DataBindingUtil; +import androidx.fragment.app.DialogFragment; + +import com.google.android.material.textfield.TextInputLayout; import java.util.ArrayList; import java.util.Collection; diff --git a/src/main/java/eu/siacs/conversations/ui/LocationActivity.java b/src/main/java/eu/siacs/conversations/ui/LocationActivity.java index 487218c52..3e830c7c0 100644 --- a/src/main/java/eu/siacs/conversations/ui/LocationActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/LocationActivity.java @@ -14,11 +14,12 @@ import android.os.Build; import android.os.Bundle; import android.preference.PreferenceManager; import android.provider.Settings; -import androidx.annotation.BoolRes; -import androidx.annotation.NonNull; import android.util.Log; import android.view.MenuItem; +import androidx.annotation.BoolRes; +import androidx.annotation.NonNull; + import org.osmdroid.api.IGeoPoint; import org.osmdroid.api.IMapController; import org.osmdroid.config.Configuration; diff --git a/src/main/java/eu/siacs/conversations/ui/MediaBrowserActivity.java b/src/main/java/eu/siacs/conversations/ui/MediaBrowserActivity.java index 7dbf9ac16..3793203dd 100644 --- a/src/main/java/eu/siacs/conversations/ui/MediaBrowserActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/MediaBrowserActivity.java @@ -2,18 +2,17 @@ package eu.siacs.conversations.ui; import android.content.Context; import android.content.Intent; -import androidx.databinding.DataBindingUtil; import android.os.Bundle; -import androidx.appcompat.widget.Toolbar; + +import androidx.databinding.DataBindingUtil; import java.util.List; import eu.siacs.conversations.R; +import eu.siacs.conversations.databinding.ActivityMediaBrowserBinding; import eu.siacs.conversations.entities.Account; import eu.siacs.conversations.entities.Contact; import eu.siacs.conversations.entities.Conversation; - -import eu.siacs.conversations.databinding.ActivityMediaBrowserBinding; import eu.siacs.conversations.ui.adapter.MediaAdapter; import eu.siacs.conversations.ui.interfaces.OnMediaLoaded; import eu.siacs.conversations.ui.util.Attachment; @@ -30,7 +29,7 @@ public class MediaBrowserActivity extends XmppActivity implements OnMediaLoaded protected void onCreate(final Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.binding = DataBindingUtil.setContentView(this,R.layout.activity_media_browser); - setSupportActionBar((Toolbar) binding.toolbar); + setSupportActionBar(binding.toolbar); configureActionBar(getSupportActionBar()); mMediaAdapter = new MediaAdapter(this, R.dimen.media_size); this.binding.media.setAdapter(mMediaAdapter); diff --git a/src/main/java/eu/siacs/conversations/ui/MemorizingActivity.java b/src/main/java/eu/siacs/conversations/ui/MemorizingActivity.java index 490ed8041..7f8a55a72 100644 --- a/src/main/java/eu/siacs/conversations/ui/MemorizingActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/MemorizingActivity.java @@ -28,9 +28,8 @@ import android.content.DialogInterface; import android.content.DialogInterface.OnCancelListener; import android.content.DialogInterface.OnClickListener; import android.content.Intent; -import android.content.SharedPreferences; import android.os.Bundle; -import android.preference.PreferenceManager; + import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AppCompatActivity; diff --git a/src/main/java/eu/siacs/conversations/ui/MucUsersActivity.java b/src/main/java/eu/siacs/conversations/ui/MucUsersActivity.java index 3c5ab5dfd..2f05be90f 100644 --- a/src/main/java/eu/siacs/conversations/ui/MucUsersActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/MucUsersActivity.java @@ -2,9 +2,7 @@ package eu.siacs.conversations.ui; import android.content.Context; import android.content.Intent; -import androidx.databinding.DataBindingUtil; import android.os.Bundle; -import androidx.appcompat.widget.Toolbar; import android.text.Editable; import android.text.TextUtils; import android.text.TextWatcher; @@ -15,6 +13,8 @@ import android.view.inputmethod.InputMethodManager; import android.widget.EditText; import android.widget.Toast; +import androidx.databinding.DataBindingUtil; + import java.util.ArrayList; import java.util.Collections; import java.util.Locale; @@ -90,7 +90,7 @@ public class MucUsersActivity extends XmppActivity implements XmppConnectionServ protected void onCreate(final Bundle savedInstanceState) { super.onCreate(savedInstanceState); ActivityMucUsersBinding binding = DataBindingUtil.setContentView(this, R.layout.activity_muc_users); - setSupportActionBar((Toolbar) binding.toolbar); + setSupportActionBar(binding.toolbar); configureActionBar(getSupportActionBar(), true); this.userAdapter = new UserAdapter(getPreferences().getBoolean("advanced_muc_mode", false)); binding.list.setAdapter(this.userAdapter); diff --git a/src/main/java/eu/siacs/conversations/ui/OmemoActivity.java b/src/main/java/eu/siacs/conversations/ui/OmemoActivity.java index c83c073a3..89fdae333 100644 --- a/src/main/java/eu/siacs/conversations/ui/OmemoActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/OmemoActivity.java @@ -1,17 +1,16 @@ package eu.siacs.conversations.ui; -import androidx.databinding.DataBindingUtil; - -import androidx.appcompat.app.AlertDialog; import android.content.Intent; import android.view.ContextMenu; import android.view.MenuItem; import android.view.View; import android.widget.CompoundButton; - import android.widget.LinearLayout; import android.widget.Toast; +import androidx.appcompat.app.AlertDialog; +import androidx.databinding.DataBindingUtil; + import eu.siacs.conversations.Config; import eu.siacs.conversations.R; import eu.siacs.conversations.crypto.axolotl.FingerprintStatus; @@ -205,7 +204,7 @@ public abstract class OmemoActivity extends XmppActivity { } @Override - public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) { + public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { ScanActivity.onRequestPermissionResult(this, requestCode, grantResults); } } diff --git a/src/main/java/eu/siacs/conversations/ui/PublishGroupChatProfilePictureActivity.java b/src/main/java/eu/siacs/conversations/ui/PublishGroupChatProfilePictureActivity.java index fba484a67..81b0ae15c 100644 --- a/src/main/java/eu/siacs/conversations/ui/PublishGroupChatProfilePictureActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/PublishGroupChatProfilePictureActivity.java @@ -30,16 +30,16 @@ package eu.siacs.conversations.ui; import android.content.Intent; -import androidx.databinding.DataBindingUtil; import android.graphics.Bitmap; import android.net.Uri; import android.os.Bundle; -import androidx.annotation.StringRes; -import androidx.appcompat.widget.Toolbar; import android.util.Log; import android.view.View; import android.widget.Toast; +import androidx.annotation.StringRes; +import androidx.databinding.DataBindingUtil; + import com.theartofdev.edmodo.cropper.CropImage; import eu.siacs.conversations.Config; @@ -91,7 +91,7 @@ public class PublishGroupChatProfilePictureActivity extends XmppActivity impleme public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.binding = DataBindingUtil.setContentView(this, R.layout.activity_publish_profile_picture); - setSupportActionBar((Toolbar) this.binding.toolbar); + setSupportActionBar(this.binding.toolbar); configureActionBar(getSupportActionBar()); this.binding.cancelButton.setOnClickListener((v) -> this.finish()); this.binding.secondaryHint.setVisibility(View.GONE); diff --git a/src/main/java/eu/siacs/conversations/ui/PublishProfilePictureActivity.java b/src/main/java/eu/siacs/conversations/ui/PublishProfilePictureActivity.java index d1901fac2..f0e715218 100644 --- a/src/main/java/eu/siacs/conversations/ui/PublishProfilePictureActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/PublishProfilePictureActivity.java @@ -6,7 +6,6 @@ import android.graphics.Bitmap; import android.net.Uri; import android.os.Build; import android.os.Bundle; -import androidx.annotation.StringRes; import android.util.Log; import android.view.View; import android.view.View.OnLongClickListener; @@ -15,6 +14,8 @@ import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; +import androidx.annotation.StringRes; + import com.theartofdev.edmodo.cropper.CropImage; import java.util.concurrent.atomic.AtomicBoolean; @@ -40,8 +41,8 @@ public class PublishProfilePictureActivity extends XmppActivity implements XmppC private Account account; private boolean support = false; private boolean publishing = false; - private AtomicBoolean handledExternalUri = new AtomicBoolean(false); - private OnLongClickListener backToDefaultListener = new OnLongClickListener() { + private final AtomicBoolean handledExternalUri = new AtomicBoolean(false); + private final OnLongClickListener backToDefaultListener = new OnLongClickListener() { @Override public boolean onLongClick(View v) { diff --git a/src/main/java/eu/siacs/conversations/ui/RecordingActivity.java b/src/main/java/eu/siacs/conversations/ui/RecordingActivity.java index def935efd..5e4c90048 100644 --- a/src/main/java/eu/siacs/conversations/ui/RecordingActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/RecordingActivity.java @@ -3,7 +3,6 @@ package eu.siacs.conversations.ui; import android.app.Activity; import android.content.Context; import android.content.Intent; -import androidx.databinding.DataBindingUtil; import android.media.MediaRecorder; import android.net.Uri; import android.os.Bundle; @@ -15,6 +14,8 @@ import android.view.View; import android.view.WindowManager; import android.widget.Toast; +import androidx.databinding.DataBindingUtil; + import java.io.File; import java.io.IOException; import java.text.SimpleDateFormat; @@ -39,10 +40,10 @@ public class RecordingActivity extends Activity implements View.OnClickListener private MediaRecorder mRecorder; private long mStartTime = 0; - private CountDownLatch outputFileWrittenLatch = new CountDownLatch(1); + private final CountDownLatch outputFileWrittenLatch = new CountDownLatch(1); - private Handler mHandler = new Handler(); - private Runnable mTickExecutor = new Runnable() { + private final Handler mHandler = new Handler(); + private final Runnable mTickExecutor = new Runnable() { @Override public void run() { tick(); diff --git a/src/main/java/eu/siacs/conversations/ui/RtpSessionActivity.java b/src/main/java/eu/siacs/conversations/ui/RtpSessionActivity.java index fca5516e0..6a2d19f44 100644 --- a/src/main/java/eu/siacs/conversations/ui/RtpSessionActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/RtpSessionActivity.java @@ -7,15 +7,11 @@ import android.content.ActivityNotFoundException; import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; -import androidx.databinding.DataBindingUtil; import android.os.Build; import android.os.Bundle; import android.os.Handler; import android.os.PowerManager; import android.os.SystemClock; -import androidx.annotation.NonNull; -import androidx.annotation.RequiresApi; -import androidx.annotation.StringRes; import android.util.Log; import android.util.Rational; import android.view.Menu; @@ -24,6 +20,11 @@ import android.view.View; import android.view.WindowManager; import android.widget.Toast; +import androidx.annotation.NonNull; +import androidx.annotation.RequiresApi; +import androidx.annotation.StringRes; +import androidx.databinding.DataBindingUtil; + import com.google.common.base.Optional; import com.google.common.base.Preconditions; import com.google.common.base.Throwables; @@ -55,12 +56,12 @@ import eu.siacs.conversations.ui.util.MainThreadExecutor; import eu.siacs.conversations.utils.PermissionUtils; import eu.siacs.conversations.utils.TimeFrameUtils; import eu.siacs.conversations.xml.Namespace; +import eu.siacs.conversations.xmpp.Jid; import eu.siacs.conversations.xmpp.jingle.AbstractJingleConnection; import eu.siacs.conversations.xmpp.jingle.JingleConnectionManager; import eu.siacs.conversations.xmpp.jingle.JingleRtpConnection; import eu.siacs.conversations.xmpp.jingle.Media; import eu.siacs.conversations.xmpp.jingle.RtpEndUserState; -import eu.siacs.conversations.xmpp.Jid; import static eu.siacs.conversations.utils.PermissionUtils.getFirstDenied; import static java.util.Arrays.asList; @@ -99,8 +100,8 @@ public class RtpSessionActivity extends XmppActivity implements XmppConnectionSe private ActivityRtpSessionBinding binding; private PowerManager.WakeLock mProximityWakeLock; - private Handler mHandler = new Handler(); - private Runnable mTickExecutor = new Runnable() { + private final Handler mHandler = new Handler(); + private final Runnable mTickExecutor = new Runnable() { @Override public void run() { updateCallDuration(); diff --git a/src/main/java/eu/siacs/conversations/ui/ScanActivity.java b/src/main/java/eu/siacs/conversations/ui/ScanActivity.java index ad5aa3266..cebd19bc3 100644 --- a/src/main/java/eu/siacs/conversations/ui/ScanActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/ScanActivity.java @@ -17,18 +17,6 @@ package eu.siacs.conversations.ui; -import java.util.EnumMap; -import java.util.Map; - -import com.google.zxing.BinaryBitmap; -import com.google.zxing.DecodeHintType; -import com.google.zxing.PlanarYUVLuminanceSource; -import com.google.zxing.ReaderException; -import com.google.zxing.Result; -import com.google.zxing.ResultPointCallback; -import com.google.zxing.common.HybridBinarizer; -import com.google.zxing.qrcode.QRCodeReader; - import android.Manifest; import android.app.Activity; import android.content.Context; @@ -45,8 +33,6 @@ import android.os.Handler; import android.os.HandlerThread; import android.os.Process; import android.os.Vibrator; -import androidx.core.app.ActivityCompat; -import androidx.core.content.ContextCompat; import android.util.Log; import android.view.KeyEvent; import android.view.Surface; @@ -56,6 +42,21 @@ import android.view.View; import android.view.WindowManager; import android.widget.Toast; +import androidx.core.app.ActivityCompat; +import androidx.core.content.ContextCompat; + +import com.google.zxing.BinaryBitmap; +import com.google.zxing.DecodeHintType; +import com.google.zxing.PlanarYUVLuminanceSource; +import com.google.zxing.ReaderException; +import com.google.zxing.Result; +import com.google.zxing.ResultPointCallback; +import com.google.zxing.common.HybridBinarizer; +import com.google.zxing.qrcode.QRCodeReader; + +import java.util.EnumMap; +import java.util.Map; + import eu.siacs.conversations.Config; import eu.siacs.conversations.R; import eu.siacs.conversations.ui.service.CameraManager; @@ -73,7 +74,7 @@ public final class ScanActivity extends Activity implements SurfaceTextureListen private static final long VIBRATE_DURATION = 50L; private static final long AUTO_FOCUS_INTERVAL_MS = 2500L; - private static boolean DISABLE_CONTINUOUS_AUTOFOCUS = Build.MODEL.equals("GT-I9100") // Galaxy S2 + private static final boolean DISABLE_CONTINUOUS_AUTOFOCUS = Build.MODEL.equals("GT-I9100") // Galaxy S2 || Build.MODEL.equals("SGH-T989") // Galaxy S2 || Build.MODEL.equals("SGH-T989D") // Galaxy S2 X || Build.MODEL.equals("SAMSUNG-SGH-I727") // Galaxy S2 Skyrocket diff --git a/src/main/java/eu/siacs/conversations/ui/SearchActivity.java b/src/main/java/eu/siacs/conversations/ui/SearchActivity.java index 6ff7d0764..f5f4eb175 100644 --- a/src/main/java/eu/siacs/conversations/ui/SearchActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/SearchActivity.java @@ -30,9 +30,7 @@ package eu.siacs.conversations.ui; import android.content.Intent; -import androidx.databinding.DataBindingUtil; import android.os.Bundle; -import androidx.appcompat.widget.Toolbar; import android.text.Editable; import android.text.InputType; import android.text.TextWatcher; @@ -44,6 +42,8 @@ import android.view.View; import android.widget.AdapterView; import android.widget.EditText; +import androidx.databinding.DataBindingUtil; + import com.google.common.base.Strings; import java.lang.ref.WeakReference; @@ -61,10 +61,10 @@ import eu.siacs.conversations.ui.adapter.MessageAdapter; import eu.siacs.conversations.ui.interfaces.OnSearchResultsAvailable; import eu.siacs.conversations.ui.util.ChangeWatcher; import eu.siacs.conversations.ui.util.DateSeparator; -import eu.siacs.conversations.ui.util.StyledAttributes; import eu.siacs.conversations.ui.util.ListViewUtils; import eu.siacs.conversations.ui.util.PendingItem; import eu.siacs.conversations.ui.util.ShareUtil; +import eu.siacs.conversations.ui.util.StyledAttributes; import eu.siacs.conversations.utils.FtsUtils; import eu.siacs.conversations.utils.MessageUtils; @@ -95,7 +95,7 @@ public class SearchActivity extends XmppActivity implements TextWatcher, OnSearc } super.onCreate(bundle); this.binding = DataBindingUtil.setContentView(this, R.layout.activity_search); - setSupportActionBar((Toolbar) this.binding.toolbar); + setSupportActionBar(this.binding.toolbar); configureActionBar(getSupportActionBar()); this.messageListAdapter = new MessageAdapter(this, this.messages); this.messageListAdapter.setOnContactPictureClicked(this); diff --git a/src/main/java/eu/siacs/conversations/ui/SettingsActivity.java b/src/main/java/eu/siacs/conversations/ui/SettingsActivity.java index 7683bb732..3632c9cd8 100644 --- a/src/main/java/eu/siacs/conversations/ui/SettingsActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/SettingsActivity.java @@ -1,19 +1,15 @@ package eu.siacs.conversations.ui; -import android.preference.CheckBoxPreference; -import androidx.annotation.NonNull; -import androidx.core.content.ContextCompat; -import androidx.appcompat.app.AlertDialog; import android.app.FragmentManager; import android.content.DialogInterface; import android.content.Intent; import android.content.SharedPreferences; import android.content.SharedPreferences.OnSharedPreferenceChangeListener; import android.content.pm.PackageManager; - import android.net.Uri; import android.os.Build; import android.os.Bundle; +import android.preference.CheckBoxPreference; import android.preference.ListPreference; import android.preference.Preference; import android.preference.PreferenceCategory; @@ -23,6 +19,10 @@ import android.provider.MediaStore; import android.util.Log; import android.widget.Toast; +import androidx.annotation.NonNull; +import androidx.appcompat.app.AlertDialog; +import androidx.core.content.ContextCompat; + import java.io.File; import java.security.KeyStoreException; import java.util.ArrayList; @@ -188,11 +188,7 @@ public class SettingsActivity extends XmppActivity implements } else if (selectedItems.contains(indexSelected)) { selectedItems.remove(Integer.valueOf(indexSelected)); } - if (selectedItems.size() > 0) - ((AlertDialog) dialog).getButton(DialogInterface.BUTTON_POSITIVE).setEnabled(true); - else { - ((AlertDialog) dialog).getButton(DialogInterface.BUTTON_POSITIVE).setEnabled(false); - } + ((AlertDialog) dialog).getButton(DialogInterface.BUTTON_POSITIVE).setEnabled(selectedItems.size() > 0); }); dialogBuilder.setPositiveButton( diff --git a/src/main/java/eu/siacs/conversations/ui/ShareLocationActivity.java b/src/main/java/eu/siacs/conversations/ui/ShareLocationActivity.java index dc36da9bf..641a01e5c 100644 --- a/src/main/java/eu/siacs/conversations/ui/ShareLocationActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/ShareLocationActivity.java @@ -3,15 +3,16 @@ package eu.siacs.conversations.ui; import android.Manifest; import android.content.Intent; import android.content.pm.PackageManager; -import androidx.databinding.DataBindingUtil; import android.location.Location; import android.location.LocationListener; import android.os.Build; import android.os.Bundle; +import android.view.View; + import androidx.annotation.NonNull; +import androidx.databinding.DataBindingUtil; + import com.google.android.material.snackbar.Snackbar; -import androidx.appcompat.widget.Toolbar; -import android.view.View; import org.osmdroid.api.IGeoPoint; import org.osmdroid.util.GeoPoint; @@ -54,7 +55,7 @@ public class ShareLocationActivity extends LocationActivity implements LocationL super.onCreate(savedInstanceState); this.binding = DataBindingUtil.setContentView(this,R.layout.activity_share_location); - setSupportActionBar((Toolbar) binding.toolbar); + setSupportActionBar(binding.toolbar); configureActionBar(getSupportActionBar()); setupMapView(binding.map, LocationProvider.getGeoPoint(this)); diff --git a/src/main/java/eu/siacs/conversations/ui/ShareWithActivity.java b/src/main/java/eu/siacs/conversations/ui/ShareWithActivity.java index df8b2a263..a55df7105 100644 --- a/src/main/java/eu/siacs/conversations/ui/ShareWithActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/ShareWithActivity.java @@ -4,13 +4,14 @@ import android.content.Intent; import android.content.pm.PackageManager; import android.net.Uri; import android.os.Bundle; -import androidx.recyclerview.widget.LinearLayoutManager; -import androidx.recyclerview.widget.RecyclerView; import android.util.Log; import android.view.Menu; import android.view.MenuItem; import android.widget.Toast; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + import java.util.ArrayList; import java.util.List; @@ -44,7 +45,7 @@ public class ShareWithActivity extends XmppActivity implements XmppConnectionSer private static final int REQUEST_START_NEW_CONVERSATION = 0x0501; private ConversationAdapter mAdapter; - private List<Conversation> mConversations = new ArrayList<>(); + private final List<Conversation> mConversations = new ArrayList<>(); protected void onActivityResult(int requestCode, int resultCode, final Intent data) { @@ -63,7 +64,7 @@ public class ShareWithActivity extends XmppActivity implements XmppConnectionSer } @Override - public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) { + public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { if (grantResults.length > 0) if (grantResults[0] == PackageManager.PERMISSION_GRANTED) { if (requestCode == REQUEST_STORAGE_PERMISSION) { diff --git a/src/main/java/eu/siacs/conversations/ui/ShortcutActivity.java b/src/main/java/eu/siacs/conversations/ui/ShortcutActivity.java index f2e73307e..33164c95c 100644 --- a/src/main/java/eu/siacs/conversations/ui/ShortcutActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/ShortcutActivity.java @@ -4,16 +4,14 @@ import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.os.Bundle; -import androidx.appcompat.app.ActionBar; -import android.util.Log; -import android.view.View; import android.view.inputmethod.InputMethodManager; +import androidx.appcompat.app.ActionBar; + import java.util.Arrays; import java.util.Collections; import java.util.List; -import eu.siacs.conversations.Config; import eu.siacs.conversations.R; import eu.siacs.conversations.entities.Account; import eu.siacs.conversations.entities.Contact; diff --git a/src/main/java/eu/siacs/conversations/ui/ShowLocationActivity.java b/src/main/java/eu/siacs/conversations/ui/ShowLocationActivity.java index ffd9e1f79..43c55de49 100644 --- a/src/main/java/eu/siacs/conversations/ui/ShowLocationActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/ShowLocationActivity.java @@ -5,18 +5,18 @@ import android.content.ClipData; import android.content.ClipboardManager; import android.content.ComponentName; import android.content.Intent; -import androidx.databinding.DataBindingUtil; import android.location.Location; import android.location.LocationListener; import android.net.Uri; import android.os.Bundle; -import androidx.annotation.NonNull; -import androidx.appcompat.widget.Toolbar; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.Toast; +import androidx.annotation.NonNull; +import androidx.databinding.DataBindingUtil; + import org.osmdroid.util.GeoPoint; import java.util.HashMap; @@ -48,7 +48,7 @@ public class ShowLocationActivity extends LocationActivity implements LocationLi super.onCreate(savedInstanceState); this.binding = DataBindingUtil.setContentView(this,R.layout.activity_show_location); - setSupportActionBar((Toolbar) binding.toolbar); + setSupportActionBar(binding.toolbar); configureActionBar(getSupportActionBar()); setupMapView(this.binding.map, this.loc); @@ -193,7 +193,7 @@ public class ShowLocationActivity extends LocationActivity implements LocationLi private void startNavigation() { startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse( "google.navigation:q=" + - String.valueOf(this.loc.getLatitude()) + "," + String.valueOf(this.loc.getLongitude()) + this.loc.getLatitude() + "," + this.loc.getLongitude() ))); } diff --git a/src/main/java/eu/siacs/conversations/ui/StartConversationActivity.java b/src/main/java/eu/siacs/conversations/ui/StartConversationActivity.java index b2d33a7d1..bfb922fa1 100644 --- a/src/main/java/eu/siacs/conversations/ui/StartConversationActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/StartConversationActivity.java @@ -9,22 +9,9 @@ import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; import android.content.pm.PackageManager; -import androidx.databinding.DataBindingUtil; import android.net.Uri; import android.os.Build; import android.os.Bundle; -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import com.google.android.material.textfield.TextInputLayout; -import androidx.fragment.app.Fragment; -import androidx.fragment.app.FragmentManager; -import androidx.fragment.app.FragmentTransaction; -import androidx.viewpager.widget.PagerAdapter; -import androidx.viewpager.widget.ViewPager; -import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; -import androidx.appcompat.app.ActionBar; -import androidx.appcompat.app.AlertDialog; -import androidx.appcompat.widget.Toolbar; import android.text.Editable; import android.text.Html; import android.text.TextWatcher; @@ -50,6 +37,20 @@ import android.widget.Spinner; import android.widget.TextView; import android.widget.Toast; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.appcompat.app.ActionBar; +import androidx.appcompat.app.AlertDialog; +import androidx.databinding.DataBindingUtil; +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentManager; +import androidx.fragment.app.FragmentTransaction; +import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; +import androidx.viewpager.widget.PagerAdapter; +import androidx.viewpager.widget.ViewPager; + +import com.google.android.material.textfield.TextInputLayout; + import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -77,9 +78,9 @@ import eu.siacs.conversations.ui.util.SoftKeyboardUtils; import eu.siacs.conversations.ui.widget.SwipeRefreshListFragment; import eu.siacs.conversations.utils.AccountUtils; import eu.siacs.conversations.utils.XmppUri; +import eu.siacs.conversations.xmpp.Jid; import eu.siacs.conversations.xmpp.OnUpdateBlocklist; import eu.siacs.conversations.xmpp.XmppConnection; -import eu.siacs.conversations.xmpp.Jid; public class StartConversationActivity extends XmppActivity implements XmppConnectionService.OnConversationUpdate, OnRosterUpdate, OnUpdateBlocklist, CreatePrivateGroupChatDialog.CreateConferenceDialogListener, JoinConferenceDialog.JoinConferenceDialogListener, SwipeRefreshLayout.OnRefreshListener, CreatePublicChannelDialog.CreatePublicChannelDialogListener { @@ -261,8 +262,7 @@ public class StartConversationActivity extends XmppActivity implements XmppConne public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.binding = DataBindingUtil.setContentView(this, R.layout.activity_start_conversation); - Toolbar toolbar = (Toolbar) binding.toolbar; - setSupportActionBar(toolbar); + setSupportActionBar(binding.toolbar); configureActionBar(getSupportActionBar()); binding.speedDial.inflate(R.menu.start_conversation_fab_submenu); @@ -760,7 +760,7 @@ public class StartConversationActivity extends XmppActivity implements XmppConne } @Override - public void onRequestPermissionsResult(int requestCode, @NonNull String permissions[], @NonNull int[] grantResults) { + public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { if (grantResults.length > 0) if (grantResults[0] == PackageManager.PERMISSION_GRANTED) { ScanActivity.onRequestPermissionResult(this, requestCode, grantResults); diff --git a/src/main/java/eu/siacs/conversations/ui/TrustKeysActivity.java b/src/main/java/eu/siacs/conversations/ui/TrustKeysActivity.java index 5aa3479dd..ece042ffd 100644 --- a/src/main/java/eu/siacs/conversations/ui/TrustKeysActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/TrustKeysActivity.java @@ -2,10 +2,7 @@ package eu.siacs.conversations.ui; import android.app.AlertDialog; import android.content.Intent; -import androidx.databinding.DataBindingUtil; import android.os.Bundle; -import androidx.appcompat.app.ActionBar; -import androidx.appcompat.widget.Toolbar; import android.util.Log; import android.view.Gravity; import android.view.Menu; @@ -14,6 +11,9 @@ import android.view.View; import android.view.View.OnClickListener; import android.widget.Toast; +import androidx.appcompat.app.ActionBar; +import androidx.databinding.DataBindingUtil; + import org.whispersystems.libsignal.IdentityKey; import java.util.ArrayList; @@ -37,8 +37,8 @@ import eu.siacs.conversations.entities.Message; import eu.siacs.conversations.utils.CryptoHelper; import eu.siacs.conversations.utils.IrregularUnicodeDetector; import eu.siacs.conversations.utils.XmppUri; -import eu.siacs.conversations.xmpp.OnKeyStatusUpdated; import eu.siacs.conversations.xmpp.Jid; +import eu.siacs.conversations.xmpp.OnKeyStatusUpdated; public class TrustKeysActivity extends OmemoActivity implements OnKeyStatusUpdated { @@ -55,7 +55,7 @@ public class TrustKeysActivity extends OmemoActivity implements OnKeyStatusUpdat commitTrusts(); finishOk(false); }; - private AtomicBoolean mUseCameraHintShown = new AtomicBoolean(false); + private final AtomicBoolean mUseCameraHintShown = new AtomicBoolean(false); private AxolotlService.FetchStatus lastFetchReport = AxolotlService.FetchStatus.SUCCESS; private Toast mUseCameraHintToast = null; private ActivityTrustKeysBinding binding; @@ -82,7 +82,7 @@ public class TrustKeysActivity extends OmemoActivity implements OnKeyStatusUpdat binding.cancelButton.setOnClickListener(mCancelButtonListener); binding.saveButton.setOnClickListener(mSaveButtonListener); - setSupportActionBar((Toolbar) binding.toolbar); + setSupportActionBar(binding.toolbar); configureActionBar(getSupportActionBar()); if (savedInstanceState != null) { @@ -151,7 +151,7 @@ public class TrustKeysActivity extends OmemoActivity implements OnKeyStatusUpdat } } else { reloadFingerprints(); - Log.d(Config.LOGTAG, "xmpp uri was: " + uri.getJid() + " has Fingerprints: " + Boolean.toString(uri.hasFingerprints())); + Log.d(Config.LOGTAG, "xmpp uri was: " + uri.getJid() + " has Fingerprints: " + uri.hasFingerprints()); Toast.makeText(this, R.string.barcode_does_not_contain_fingerprints_for_this_conversation, Toast.LENGTH_SHORT).show(); } populateView(); @@ -437,7 +437,7 @@ public class TrustKeysActivity extends OmemoActivity implements OnKeyStatusUpdat synchronized (this.foreignKeysToTrust) { for (Jid jid : contactJids) { Map<String, Boolean> fingerprints = foreignKeysToTrust.get(jid); - if (hasNoOtherTrustedKeys(jid) && (fingerprints == null || !fingerprints.values().contains(true))) { + if (hasNoOtherTrustedKeys(jid) && (fingerprints == null || !fingerprints.containsValue(true))) { lock(); return; } diff --git a/src/main/java/eu/siacs/conversations/ui/UriHandlerActivity.java b/src/main/java/eu/siacs/conversations/ui/UriHandlerActivity.java index e4acde536..f868e3337 100644 --- a/src/main/java/eu/siacs/conversations/ui/UriHandlerActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/UriHandlerActivity.java @@ -7,10 +7,11 @@ import android.content.pm.PackageManager; import android.net.Uri; import android.os.Build; import android.os.Bundle; -import androidx.core.content.ContextCompat; -import androidx.appcompat.app.AppCompatActivity; import android.widget.Toast; +import androidx.appcompat.app.AppCompatActivity; +import androidx.core.content.ContextCompat; + import com.google.common.base.Strings; import java.util.List; diff --git a/src/main/java/eu/siacs/conversations/ui/XmppActivity.java b/src/main/java/eu/siacs/conversations/ui/XmppActivity.java index 15887880e..b3591551b 100644 --- a/src/main/java/eu/siacs/conversations/ui/XmppActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/XmppActivity.java @@ -19,7 +19,6 @@ import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; import android.content.res.Resources; import android.content.res.TypedArray; -import androidx.databinding.DataBindingUtil; import android.graphics.Bitmap; import android.graphics.Color; import android.graphics.Point; @@ -35,12 +34,6 @@ import android.os.IBinder; import android.os.PowerManager; import android.os.SystemClock; import android.preference.PreferenceManager; -import androidx.annotation.BoolRes; -import androidx.annotation.NonNull; -import androidx.annotation.StringRes; -import androidx.appcompat.app.AlertDialog; -import androidx.appcompat.app.AlertDialog.Builder; -import androidx.appcompat.app.AppCompatDelegate; import android.text.InputType; import android.util.DisplayMetrics; import android.util.Log; @@ -50,6 +43,14 @@ import android.view.View; import android.widget.ImageView; import android.widget.Toast; +import androidx.annotation.BoolRes; +import androidx.annotation.NonNull; +import androidx.annotation.StringRes; +import androidx.appcompat.app.AlertDialog; +import androidx.appcompat.app.AlertDialog.Builder; +import androidx.appcompat.app.AppCompatDelegate; +import androidx.databinding.DataBindingUtil; + import java.io.IOException; import java.lang.ref.WeakReference; import java.util.ArrayList; @@ -77,9 +78,9 @@ import eu.siacs.conversations.ui.util.SoftKeyboardUtils; import eu.siacs.conversations.utils.AccountUtils; import eu.siacs.conversations.utils.ExceptionHelper; import eu.siacs.conversations.utils.ThemeHelper; +import eu.siacs.conversations.xmpp.Jid; import eu.siacs.conversations.xmpp.OnKeyStatusUpdated; import eu.siacs.conversations.xmpp.OnUpdateBlocklist; -import eu.siacs.conversations.xmpp.Jid; public abstract class XmppActivity extends ActionBarActivity { @@ -119,12 +120,12 @@ public abstract class XmppActivity extends ActionBarActivity { }; private DisplayMetrics metrics; private long mLastUiRefresh = 0; - private Handler mRefreshUiHandler = new Handler(); - private Runnable mRefreshUiRunnable = () -> { + private final Handler mRefreshUiHandler = new Handler(); + private final Runnable mRefreshUiRunnable = () -> { mLastUiRefresh = SystemClock.elapsedRealtime(); refreshUiReal(); }; - private UiCallback<Conversation> adhocCallback = new UiCallback<Conversation>() { + private final UiCallback<Conversation> adhocCallback = new UiCallback<Conversation>() { @Override public void success(final Conversation conversation) { runOnUiThread(() -> { @@ -913,7 +914,7 @@ public abstract class XmppActivity extends ActionBarActivity { public static class ConferenceInvite { private String uuid; - private List<Jid> jids = new ArrayList<>(); + private final List<Jid> jids = new ArrayList<>(); public static ConferenceInvite parse(Intent data) { ConferenceInvite invite = new ConferenceInvite(); diff --git a/src/main/java/eu/siacs/conversations/ui/adapter/AccountAdapter.java b/src/main/java/eu/siacs/conversations/ui/adapter/AccountAdapter.java index 6bbe3d979..b070a63bb 100644 --- a/src/main/java/eu/siacs/conversations/ui/adapter/AccountAdapter.java +++ b/src/main/java/eu/siacs/conversations/ui/adapter/AccountAdapter.java @@ -1,13 +1,13 @@ package eu.siacs.conversations.ui.adapter; -import androidx.databinding.DataBindingUtil; - -import androidx.annotation.NonNull; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; +import androidx.annotation.NonNull; +import androidx.databinding.DataBindingUtil; + import java.util.List; import eu.siacs.conversations.Config; @@ -20,8 +20,8 @@ import eu.siacs.conversations.ui.util.StyledAttributes; public class AccountAdapter extends ArrayAdapter<Account> { - private XmppActivity activity; - private boolean showStateButton; + private final XmppActivity activity; + private final boolean showStateButton; public AccountAdapter(XmppActivity activity, List<Account> objects, boolean showStateButton) { super(activity, 0, objects); diff --git a/src/main/java/eu/siacs/conversations/ui/adapter/ChannelSearchResultAdapter.java b/src/main/java/eu/siacs/conversations/ui/adapter/ChannelSearchResultAdapter.java index 6966da365..ae9a67f6b 100644 --- a/src/main/java/eu/siacs/conversations/ui/adapter/ChannelSearchResultAdapter.java +++ b/src/main/java/eu/siacs/conversations/ui/adapter/ChannelSearchResultAdapter.java @@ -1,17 +1,18 @@ package eu.siacs.conversations.ui.adapter; import android.app.Activity; -import androidx.databinding.DataBindingUtil; -import androidx.annotation.NonNull; -import androidx.recyclerview.widget.ListAdapter; -import androidx.recyclerview.widget.DiffUtil; -import androidx.recyclerview.widget.RecyclerView; import android.text.TextUtils; import android.view.ContextMenu; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import androidx.annotation.NonNull; +import androidx.databinding.DataBindingUtil; +import androidx.recyclerview.widget.DiffUtil; +import androidx.recyclerview.widget.ListAdapter; +import androidx.recyclerview.widget.RecyclerView; + import java.util.Locale; import eu.siacs.conversations.R; diff --git a/src/main/java/eu/siacs/conversations/ui/adapter/ConversationAdapter.java b/src/main/java/eu/siacs/conversations/ui/adapter/ConversationAdapter.java index b97a39c5b..049703597 100644 --- a/src/main/java/eu/siacs/conversations/ui/adapter/ConversationAdapter.java +++ b/src/main/java/eu/siacs/conversations/ui/adapter/ConversationAdapter.java @@ -1,14 +1,15 @@ package eu.siacs.conversations.ui.adapter; -import androidx.databinding.DataBindingUtil; import android.graphics.Typeface; -import androidx.annotation.NonNull; -import androidx.recyclerview.widget.RecyclerView; import android.util.Pair; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import androidx.annotation.NonNull; +import androidx.databinding.DataBindingUtil; +import androidx.recyclerview.widget.RecyclerView; + import com.google.common.base.Optional; import java.util.List; @@ -25,13 +26,13 @@ import eu.siacs.conversations.ui.util.StyledAttributes; import eu.siacs.conversations.utils.EmojiWrapper; import eu.siacs.conversations.utils.IrregularUnicodeDetector; import eu.siacs.conversations.utils.UIHelper; -import eu.siacs.conversations.xmpp.jingle.OngoingRtpSession; import eu.siacs.conversations.xmpp.Jid; +import eu.siacs.conversations.xmpp.jingle.OngoingRtpSession; public class ConversationAdapter extends RecyclerView.Adapter<ConversationAdapter.ConversationViewHolder> { - private XmppActivity activity; - private List<Conversation> conversations; + private final XmppActivity activity; + private final List<Conversation> conversations; private OnConversationClickListener listener; public ConversationAdapter(XmppActivity activity, List<Conversation> conversations) { diff --git a/src/main/java/eu/siacs/conversations/ui/adapter/KnownHostsAdapter.java b/src/main/java/eu/siacs/conversations/ui/adapter/KnownHostsAdapter.java index ba59f52b9..08f8fcd32 100644 --- a/src/main/java/eu/siacs/conversations/ui/adapter/KnownHostsAdapter.java +++ b/src/main/java/eu/siacs/conversations/ui/adapter/KnownHostsAdapter.java @@ -1,10 +1,11 @@ package eu.siacs.conversations.ui.adapter; import android.content.Context; -import androidx.annotation.NonNull; import android.widget.ArrayAdapter; import android.widget.Filter; +import androidx.annotation.NonNull; + import java.util.ArrayList; import java.util.Collection; import java.util.Collections; @@ -15,10 +16,10 @@ import eu.siacs.conversations.Config; public class KnownHostsAdapter extends ArrayAdapter<String> { - private static Pattern E164_PATTERN = Pattern.compile("^\\+[1-9]\\d{1,14}$"); + private static final Pattern E164_PATTERN = Pattern.compile("^\\+[1-9]\\d{1,14}$"); private ArrayList<String> domains; - private Filter domainFilter = new Filter() { + private final Filter domainFilter = new Filter() { @Override protected FilterResults performFiltering(CharSequence constraint) { diff --git a/src/main/java/eu/siacs/conversations/ui/adapter/ListItemAdapter.java b/src/main/java/eu/siacs/conversations/ui/adapter/ListItemAdapter.java index cea63f2ee..4e7213380 100644 --- a/src/main/java/eu/siacs/conversations/ui/adapter/ListItemAdapter.java +++ b/src/main/java/eu/siacs/conversations/ui/adapter/ListItemAdapter.java @@ -1,7 +1,6 @@ package eu.siacs.conversations.ui.adapter; import android.content.SharedPreferences; -import androidx.databinding.DataBindingUtil; import android.preference.PreferenceManager; import android.view.LayoutInflater; import android.view.View; @@ -10,6 +9,8 @@ import android.widget.ArrayAdapter; import android.widget.ImageView; import android.widget.TextView; +import androidx.databinding.DataBindingUtil; + import com.wefika.flowlayout.FlowLayout; import java.util.List; @@ -30,7 +31,7 @@ public class ListItemAdapter extends ArrayAdapter<ListItem> { protected XmppActivity activity; private boolean showDynamicTags = false; private OnTagClickedListener mOnTagClickedListener = null; - private View.OnClickListener onTagTvClick = view -> { + private final View.OnClickListener onTagTvClick = view -> { if (view instanceof TextView && mOnTagClickedListener != null) { TextView tv = (TextView) view; final String tag = tv.getText().toString(); diff --git a/src/main/java/eu/siacs/conversations/ui/adapter/MediaAdapter.java b/src/main/java/eu/siacs/conversations/ui/adapter/MediaAdapter.java index a1212a68c..75ab964f4 100644 --- a/src/main/java/eu/siacs/conversations/ui/adapter/MediaAdapter.java +++ b/src/main/java/eu/siacs/conversations/ui/adapter/MediaAdapter.java @@ -2,20 +2,21 @@ package eu.siacs.conversations.ui.adapter; import android.content.Context; import android.content.res.Resources; -import androidx.databinding.DataBindingUtil; import android.graphics.Bitmap; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; import android.os.AsyncTask; -import androidx.annotation.AttrRes; -import androidx.annotation.DimenRes; -import androidx.annotation.NonNull; -import androidx.recyclerview.widget.RecyclerView; import android.util.Log; import android.view.LayoutInflater; import android.view.ViewGroup; import android.widget.ImageView; +import androidx.annotation.AttrRes; +import androidx.annotation.DimenRes; +import androidx.annotation.NonNull; +import androidx.databinding.DataBindingUtil; +import androidx.recyclerview.widget.RecyclerView; + import java.lang.ref.WeakReference; import java.util.ArrayList; import java.util.Arrays; diff --git a/src/main/java/eu/siacs/conversations/ui/adapter/MediaPreviewAdapter.java b/src/main/java/eu/siacs/conversations/ui/adapter/MediaPreviewAdapter.java index 49981c623..73f24fe15 100644 --- a/src/main/java/eu/siacs/conversations/ui/adapter/MediaPreviewAdapter.java +++ b/src/main/java/eu/siacs/conversations/ui/adapter/MediaPreviewAdapter.java @@ -4,19 +4,20 @@ import android.content.ActivityNotFoundException; import android.content.Context; import android.content.Intent; import android.content.res.Resources; -import androidx.databinding.DataBindingUtil; import android.graphics.Bitmap; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; import android.net.Uri; import android.os.AsyncTask; -import androidx.annotation.NonNull; -import androidx.recyclerview.widget.RecyclerView; import android.view.LayoutInflater; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.Toast; +import androidx.annotation.NonNull; +import androidx.databinding.DataBindingUtil; +import androidx.recyclerview.widget.RecyclerView; + import java.lang.ref.WeakReference; import java.util.ArrayList; import java.util.List; diff --git a/src/main/java/eu/siacs/conversations/ui/adapter/MessageAdapter.java b/src/main/java/eu/siacs/conversations/ui/adapter/MessageAdapter.java index 9d092af6c..af895bc0b 100644 --- a/src/main/java/eu/siacs/conversations/ui/adapter/MessageAdapter.java +++ b/src/main/java/eu/siacs/conversations/ui/adapter/MessageAdapter.java @@ -7,8 +7,6 @@ import android.content.SharedPreferences; import android.content.pm.PackageManager; import android.graphics.Typeface; import android.preference.PreferenceManager; -import androidx.core.app.ActivityCompat; -import androidx.core.content.ContextCompat; import android.text.Spannable; import android.text.SpannableString; import android.text.SpannableStringBuilder; @@ -28,6 +26,9 @@ import android.widget.RelativeLayout; import android.widget.TextView; import android.widget.Toast; +import androidx.core.app.ActivityCompat; +import androidx.core.content.ContextCompat; + import com.google.common.base.Strings; import java.net.URL; diff --git a/src/main/java/eu/siacs/conversations/ui/adapter/PresenceTemplateAdapter.java b/src/main/java/eu/siacs/conversations/ui/adapter/PresenceTemplateAdapter.java index 5fe4a727d..62526da62 100644 --- a/src/main/java/eu/siacs/conversations/ui/adapter/PresenceTemplateAdapter.java +++ b/src/main/java/eu/siacs/conversations/ui/adapter/PresenceTemplateAdapter.java @@ -30,10 +30,11 @@ package eu.siacs.conversations.ui.adapter; import android.content.Context; -import androidx.annotation.NonNull; import android.widget.ArrayAdapter; import android.widget.Filter; +import androidx.annotation.NonNull; + import java.util.ArrayList; import java.util.List; import java.util.Locale; diff --git a/src/main/java/eu/siacs/conversations/ui/adapter/UserAdapter.java b/src/main/java/eu/siacs/conversations/ui/adapter/UserAdapter.java index f96d2dac5..41bfb24a1 100644 --- a/src/main/java/eu/siacs/conversations/ui/adapter/UserAdapter.java +++ b/src/main/java/eu/siacs/conversations/ui/adapter/UserAdapter.java @@ -2,16 +2,17 @@ package eu.siacs.conversations.ui.adapter; import android.app.PendingIntent; import android.content.IntentSender; -import androidx.databinding.DataBindingUtil; -import androidx.annotation.NonNull; -import androidx.recyclerview.widget.ListAdapter; -import androidx.recyclerview.widget.DiffUtil; -import androidx.recyclerview.widget.RecyclerView; import android.view.ContextMenu; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import androidx.annotation.NonNull; +import androidx.databinding.DataBindingUtil; +import androidx.recyclerview.widget.DiffUtil; +import androidx.recyclerview.widget.ListAdapter; +import androidx.recyclerview.widget.RecyclerView; + import org.openintents.openpgp.util.OpenPgpUtils; import eu.siacs.conversations.R; diff --git a/src/main/java/eu/siacs/conversations/ui/adapter/UserPreviewAdapter.java b/src/main/java/eu/siacs/conversations/ui/adapter/UserPreviewAdapter.java index 77c4734a8..14920c9c6 100644 --- a/src/main/java/eu/siacs/conversations/ui/adapter/UserPreviewAdapter.java +++ b/src/main/java/eu/siacs/conversations/ui/adapter/UserPreviewAdapter.java @@ -1,14 +1,15 @@ package eu.siacs.conversations.ui.adapter; -import androidx.databinding.DataBindingUtil; -import androidx.annotation.NonNull; -import androidx.recyclerview.widget.ListAdapter; -import androidx.recyclerview.widget.RecyclerView; import android.view.ContextMenu; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import androidx.annotation.NonNull; +import androidx.databinding.DataBindingUtil; +import androidx.recyclerview.widget.ListAdapter; +import androidx.recyclerview.widget.RecyclerView; + import eu.siacs.conversations.R; import eu.siacs.conversations.databinding.UserPreviewBinding; import eu.siacs.conversations.entities.MucOptions; diff --git a/src/main/java/eu/siacs/conversations/ui/forms/FormBooleanFieldWrapper.java b/src/main/java/eu/siacs/conversations/ui/forms/FormBooleanFieldWrapper.java index 6cb357a90..0c85d88ba 100644 --- a/src/main/java/eu/siacs/conversations/ui/forms/FormBooleanFieldWrapper.java +++ b/src/main/java/eu/siacs/conversations/ui/forms/FormBooleanFieldWrapper.java @@ -16,7 +16,7 @@ public class FormBooleanFieldWrapper extends FormFieldWrapper { protected FormBooleanFieldWrapper(Context context, Field field) { super(context, field); - checkBox = (CheckBox) view.findViewById(R.id.field); + checkBox = view.findViewById(R.id.field); checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { @@ -28,7 +28,7 @@ public class FormBooleanFieldWrapper extends FormFieldWrapper { @Override protected void setLabel(String label, boolean required) { - CheckBox checkBox = (CheckBox) view.findViewById(R.id.field); + CheckBox checkBox = view.findViewById(R.id.field); checkBox.setText(createSpannableLabelString(label, required)); } diff --git a/src/main/java/eu/siacs/conversations/ui/forms/FormJidSingleFieldWrapper.java b/src/main/java/eu/siacs/conversations/ui/forms/FormJidSingleFieldWrapper.java index 0cb21ed93..00f0899c1 100644 --- a/src/main/java/eu/siacs/conversations/ui/forms/FormJidSingleFieldWrapper.java +++ b/src/main/java/eu/siacs/conversations/ui/forms/FormJidSingleFieldWrapper.java @@ -6,8 +6,8 @@ import android.text.InputType; import java.util.List; import eu.siacs.conversations.R; -import eu.siacs.conversations.xmpp.forms.Field; import eu.siacs.conversations.xmpp.Jid; +import eu.siacs.conversations.xmpp.forms.Field; public class FormJidSingleFieldWrapper extends FormTextFieldWrapper { @@ -34,7 +34,7 @@ public class FormJidSingleFieldWrapper extends FormTextFieldWrapper { @Override protected void setValues(List<String> values) { - StringBuilder builder = new StringBuilder(""); + StringBuilder builder = new StringBuilder(); for(String value : values) { builder.append(value); } diff --git a/src/main/java/eu/siacs/conversations/ui/forms/FormTextFieldWrapper.java b/src/main/java/eu/siacs/conversations/ui/forms/FormTextFieldWrapper.java index b7dac9510..81fbb2e2e 100644 --- a/src/main/java/eu/siacs/conversations/ui/forms/FormTextFieldWrapper.java +++ b/src/main/java/eu/siacs/conversations/ui/forms/FormTextFieldWrapper.java @@ -19,7 +19,7 @@ public class FormTextFieldWrapper extends FormFieldWrapper { protected FormTextFieldWrapper(Context context, Field field) { super(context, field); - editText = (EditText) view.findViewById(R.id.field); + editText = view.findViewById(R.id.field); editText.setSingleLine(!"text-multi".equals(field.getType())); if ("text-private".equals(field.getType())) { editText.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD); @@ -43,7 +43,7 @@ public class FormTextFieldWrapper extends FormFieldWrapper { @Override protected void setLabel(String label, boolean required) { - TextView textView = (TextView) view.findViewById(R.id.label); + TextView textView = view.findViewById(R.id.label); textView.setText(createSpannableLabelString(label, required)); } @@ -64,7 +64,7 @@ public class FormTextFieldWrapper extends FormFieldWrapper { @Override protected void setValues(List<String> values) { - StringBuilder builder = new StringBuilder(""); + StringBuilder builder = new StringBuilder(); for(int i = 0; i < values.size(); ++i) { builder.append(values.get(i)); if (i < values.size() - 1 && "text-multi".equals(field.getType())) { diff --git a/src/main/java/eu/siacs/conversations/ui/service/AudioPlayer.java b/src/main/java/eu/siacs/conversations/ui/service/AudioPlayer.java index 1a48f1387..08edfadbe 100644 --- a/src/main/java/eu/siacs/conversations/ui/service/AudioPlayer.java +++ b/src/main/java/eu/siacs/conversations/ui/service/AudioPlayer.java @@ -12,8 +12,6 @@ import android.media.AudioManager; import android.os.Build; import android.os.Handler; import android.os.PowerManager; -import androidx.core.app.ActivityCompat; -import androidx.core.content.ContextCompat; import android.util.Log; import android.view.View; import android.widget.ImageButton; @@ -21,6 +19,9 @@ import android.widget.RelativeLayout; import android.widget.SeekBar; import android.widget.TextView; +import androidx.core.app.ActivityCompat; +import androidx.core.content.ContextCompat; + import java.lang.ref.WeakReference; import java.util.Locale; import java.util.concurrent.ExecutorService; diff --git a/src/main/java/eu/siacs/conversations/ui/service/CameraManager.java b/src/main/java/eu/siacs/conversations/ui/service/CameraManager.java index 9f1fc99a7..f3af5d3ed 100644 --- a/src/main/java/eu/siacs/conversations/ui/service/CameraManager.java +++ b/src/main/java/eu/siacs/conversations/ui/service/CameraManager.java @@ -17,15 +17,6 @@ package eu.siacs.conversations.ui.service; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.Comparator; -import java.util.List; - -import com.google.zxing.PlanarYUVLuminanceSource; - import android.annotation.SuppressLint; import android.graphics.Rect; import android.graphics.RectF; @@ -35,6 +26,15 @@ import android.hardware.Camera.PreviewCallback; import android.util.Log; import android.view.TextureView; +import com.google.zxing.PlanarYUVLuminanceSource; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.Comparator; +import java.util.List; + import eu.siacs.conversations.Config; /** @@ -48,7 +48,7 @@ public final class CameraManager { private static final int MAX_PREVIEW_PIXELS = 1280 * 720; private Camera camera; - private CameraInfo cameraInfo = new CameraInfo(); + private final CameraInfo cameraInfo = new CameraInfo(); private Camera.Size cameraResolution; private Rect frame; private RectF framePreview; diff --git a/src/main/java/eu/siacs/conversations/ui/text/FixedURLSpan.java b/src/main/java/eu/siacs/conversations/ui/text/FixedURLSpan.java index eb45feebe..684fd8094 100644 --- a/src/main/java/eu/siacs/conversations/ui/text/FixedURLSpan.java +++ b/src/main/java/eu/siacs/conversations/ui/text/FixedURLSpan.java @@ -38,16 +38,13 @@ import android.os.Build; import android.text.Editable; import android.text.Spanned; import android.text.style.URLSpan; -import android.util.Log; import android.view.View; import android.widget.Toast; import java.util.Arrays; -import eu.siacs.conversations.Config; import eu.siacs.conversations.R; import eu.siacs.conversations.ui.ConversationsActivity; -import eu.siacs.conversations.utils.XmppUri; @SuppressLint("ParcelCreator") diff --git a/src/main/java/eu/siacs/conversations/ui/text/QuoteSpan.java b/src/main/java/eu/siacs/conversations/ui/text/QuoteSpan.java index 48b20a47f..98360e9b8 100644 --- a/src/main/java/eu/siacs/conversations/ui/text/QuoteSpan.java +++ b/src/main/java/eu/siacs/conversations/ui/text/QuoteSpan.java @@ -2,7 +2,6 @@ package eu.siacs.conversations.ui.text; import android.graphics.Canvas; import android.graphics.Paint; -import androidx.annotation.ColorInt; import android.text.Layout; import android.text.TextPaint; import android.text.style.CharacterStyle; @@ -10,6 +9,8 @@ import android.text.style.LeadingMarginSpan; import android.util.DisplayMetrics; import android.util.TypedValue; +import androidx.annotation.ColorInt; + public class QuoteSpan extends CharacterStyle implements LeadingMarginSpan { private final int color; diff --git a/src/main/java/eu/siacs/conversations/ui/util/AvatarWorkerTask.java b/src/main/java/eu/siacs/conversations/ui/util/AvatarWorkerTask.java index 388a38003..f5331c7a6 100644 --- a/src/main/java/eu/siacs/conversations/ui/util/AvatarWorkerTask.java +++ b/src/main/java/eu/siacs/conversations/ui/util/AvatarWorkerTask.java @@ -6,9 +6,10 @@ import android.graphics.Bitmap; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; import android.os.AsyncTask; -import androidx.annotation.DimenRes; import android.widget.ImageView; +import androidx.annotation.DimenRes; + import java.lang.ref.WeakReference; import java.util.concurrent.RejectedExecutionException; @@ -20,7 +21,8 @@ import eu.siacs.conversations.ui.XmppActivity; public class AvatarWorkerTask extends AsyncTask<AvatarService.Avatarable, Void, Bitmap> { private final WeakReference<ImageView> imageViewReference; private AvatarService.Avatarable avatarable = null; - private @DimenRes int size; + private @DimenRes + final int size; public AvatarWorkerTask(ImageView imageView, @DimenRes int size) { imageViewReference = new WeakReference<>(imageView); diff --git a/src/main/java/eu/siacs/conversations/ui/util/ConversationMenuConfigurator.java b/src/main/java/eu/siacs/conversations/ui/util/ConversationMenuConfigurator.java index c301a03ce..900246591 100644 --- a/src/main/java/eu/siacs/conversations/ui/util/ConversationMenuConfigurator.java +++ b/src/main/java/eu/siacs/conversations/ui/util/ConversationMenuConfigurator.java @@ -30,17 +30,15 @@ package eu.siacs.conversations.ui.util; import android.content.Context; -import android.content.Intent; import android.content.pm.PackageManager; -import android.provider.MediaStore; -import androidx.annotation.NonNull; import android.view.Menu; import android.view.MenuItem; +import androidx.annotation.NonNull; + import eu.siacs.conversations.Config; import eu.siacs.conversations.R; import eu.siacs.conversations.crypto.OmemoSetting; -import eu.siacs.conversations.crypto.axolotl.AxolotlService; import eu.siacs.conversations.entities.Conversation; import eu.siacs.conversations.entities.Conversational; import eu.siacs.conversations.entities.Message; diff --git a/src/main/java/eu/siacs/conversations/ui/util/DelayedHintHelper.java b/src/main/java/eu/siacs/conversations/ui/util/DelayedHintHelper.java index 4680b2afd..2df162099 100644 --- a/src/main/java/eu/siacs/conversations/ui/util/DelayedHintHelper.java +++ b/src/main/java/eu/siacs/conversations/ui/util/DelayedHintHelper.java @@ -30,9 +30,10 @@ package eu.siacs.conversations.ui.util; import android.os.Handler; -import androidx.annotation.StringRes; import android.widget.EditText; +import androidx.annotation.StringRes; + public class DelayedHintHelper { public static void setHint(@StringRes final int res, EditText editText) { diff --git a/src/main/java/eu/siacs/conversations/ui/util/GridManager.java b/src/main/java/eu/siacs/conversations/ui/util/GridManager.java index 5e523aa31..c11e423c5 100644 --- a/src/main/java/eu/siacs/conversations/ui/util/GridManager.java +++ b/src/main/java/eu/siacs/conversations/ui/util/GridManager.java @@ -1,11 +1,12 @@ package eu.siacs.conversations.ui.util; import android.content.Context; +import android.util.Log; +import android.view.ViewTreeObserver; + import androidx.annotation.DimenRes; import androidx.recyclerview.widget.GridLayoutManager; import androidx.recyclerview.widget.RecyclerView; -import android.util.Log; -import android.view.ViewTreeObserver; import eu.siacs.conversations.Config; import eu.siacs.conversations.ui.adapter.MediaAdapter; diff --git a/src/main/java/eu/siacs/conversations/ui/util/JidDialog.java b/src/main/java/eu/siacs/conversations/ui/util/JidDialog.java index dbc196f4b..7ac8a6f9c 100644 --- a/src/main/java/eu/siacs/conversations/ui/util/JidDialog.java +++ b/src/main/java/eu/siacs/conversations/ui/util/JidDialog.java @@ -1,16 +1,17 @@ package eu.siacs.conversations.ui.util; import android.content.Context; -import androidx.annotation.StringRes; import android.text.SpannableString; import android.text.Spanned; import android.text.style.TypefaceSpan; +import androidx.annotation.StringRes; + public class JidDialog { public static SpannableString style(Context context, @StringRes int res, String... args) { - SpannableString spannable = new SpannableString(context.getString(res, (Object[]) args)); + final SpannableString spannable = new SpannableString(context.getString(res, (Object[]) args)); if (args.length >= 1) { final String value = args[0]; int start = spannable.toString().indexOf(value); diff --git a/src/main/java/eu/siacs/conversations/ui/util/LocationHelper.java b/src/main/java/eu/siacs/conversations/ui/util/LocationHelper.java index 27a6c0837..7922ac369 100644 --- a/src/main/java/eu/siacs/conversations/ui/util/LocationHelper.java +++ b/src/main/java/eu/siacs/conversations/ui/util/LocationHelper.java @@ -64,9 +64,6 @@ public final class LocationHelper { return true; } else if (isNewer && !isLessAccurate) { return true; - } else if (isNewer && !isSignificantlyLessAccurate && isFromSameProvider) { - return true; - } - return false; - } + } else return isNewer && !isSignificantlyLessAccurate && isFromSameProvider; + } }
\ No newline at end of file diff --git a/src/main/java/eu/siacs/conversations/ui/util/MucConfiguration.java b/src/main/java/eu/siacs/conversations/ui/util/MucConfiguration.java index 952084816..3772a851e 100644 --- a/src/main/java/eu/siacs/conversations/ui/util/MucConfiguration.java +++ b/src/main/java/eu/siacs/conversations/ui/util/MucConfiguration.java @@ -2,6 +2,7 @@ package eu.siacs.conversations.ui.util; import android.content.Context; import android.os.Bundle; + import androidx.annotation.StringRes; import eu.siacs.conversations.R; diff --git a/src/main/java/eu/siacs/conversations/ui/util/MucDetailsContextMenuHelper.java b/src/main/java/eu/siacs/conversations/ui/util/MucDetailsContextMenuHelper.java index 31da26f22..da1ac7a44 100644 --- a/src/main/java/eu/siacs/conversations/ui/util/MucDetailsContextMenuHelper.java +++ b/src/main/java/eu/siacs/conversations/ui/util/MucDetailsContextMenuHelper.java @@ -2,7 +2,6 @@ package eu.siacs.conversations.ui.util; import android.app.Activity; import android.preference.PreferenceManager; -import androidx.appcompat.app.AlertDialog; import android.text.SpannableString; import android.text.Spanned; import android.text.style.TypefaceSpan; @@ -11,6 +10,8 @@ import android.view.Menu; import android.view.MenuItem; import android.view.View; +import androidx.appcompat.app.AlertDialog; + import eu.siacs.conversations.Config; import eu.siacs.conversations.R; import eu.siacs.conversations.entities.Account; diff --git a/src/main/java/eu/siacs/conversations/ui/util/MyLinkify.java b/src/main/java/eu/siacs/conversations/ui/util/MyLinkify.java index aa2aeb704..b72c5aa86 100644 --- a/src/main/java/eu/siacs/conversations/ui/util/MyLinkify.java +++ b/src/main/java/eu/siacs/conversations/ui/util/MyLinkify.java @@ -81,9 +81,7 @@ public class MyLinkify { if (end < cs.length()) { // Reject strings that were probably matched only because they contain a dot followed by // by some known TLD (see also comment for WORD_BOUNDARY in Patterns.java) - if (isAlphabetic(cs.charAt(end-1)) && isAlphabetic(cs.charAt(end))) { - return false; - } + return !isAlphabetic(cs.charAt(end - 1)) || !isAlphabetic(cs.charAt(end)); } return true; diff --git a/src/main/java/eu/siacs/conversations/ui/util/PresenceSelector.java b/src/main/java/eu/siacs/conversations/ui/util/PresenceSelector.java index 05a364b79..6edcf3349 100644 --- a/src/main/java/eu/siacs/conversations/ui/util/PresenceSelector.java +++ b/src/main/java/eu/siacs/conversations/ui/util/PresenceSelector.java @@ -31,9 +31,10 @@ package eu.siacs.conversations.ui.util; import android.app.Activity; import android.content.Context; -import androidx.appcompat.app.AlertDialog; import android.util.Pair; +import androidx.appcompat.app.AlertDialog; + import java.util.Collections; import java.util.Map; import java.util.concurrent.atomic.AtomicInteger; diff --git a/src/main/java/eu/siacs/conversations/ui/util/SoftKeyboardUtils.java b/src/main/java/eu/siacs/conversations/ui/util/SoftKeyboardUtils.java index 09a8544df..0b2eaf801 100644 --- a/src/main/java/eu/siacs/conversations/ui/util/SoftKeyboardUtils.java +++ b/src/main/java/eu/siacs/conversations/ui/util/SoftKeyboardUtils.java @@ -31,11 +31,12 @@ package eu.siacs.conversations.ui.util; import android.app.Activity; import android.content.Context; -import androidx.annotation.NonNull; import android.view.View; import android.view.inputmethod.InputMethodManager; import android.widget.EditText; +import androidx.annotation.NonNull; + public class SoftKeyboardUtils { diff --git a/src/main/java/eu/siacs/conversations/ui/util/StyledAttributes.java b/src/main/java/eu/siacs/conversations/ui/util/StyledAttributes.java index cfd177031..709aa0386 100644 --- a/src/main/java/eu/siacs/conversations/ui/util/StyledAttributes.java +++ b/src/main/java/eu/siacs/conversations/ui/util/StyledAttributes.java @@ -31,6 +31,7 @@ package eu.siacs.conversations.ui.util; import android.content.Context; import android.content.res.TypedArray; + import androidx.annotation.AttrRes; import androidx.annotation.ColorInt; diff --git a/src/main/java/eu/siacs/conversations/ui/widget/EditMessage.java b/src/main/java/eu/siacs/conversations/ui/widget/EditMessage.java index 3461ebc9e..eadd562a7 100644 --- a/src/main/java/eu/siacs/conversations/ui/widget/EditMessage.java +++ b/src/main/java/eu/siacs/conversations/ui/widget/EditMessage.java @@ -1,15 +1,11 @@ package eu.siacs.conversations.ui.widget; -import android.content.SharedPreferences; -import android.preference.PreferenceManager; -import androidx.core.view.inputmethod.EditorInfoCompat; -import androidx.core.view.inputmethod.InputConnectionCompat; -import androidx.core.view.inputmethod.InputContentInfoCompat; - import android.content.Context; +import android.content.SharedPreferences; import android.os.Build; import android.os.Bundle; import android.os.Handler; +import android.preference.PreferenceManager; import android.text.Editable; import android.text.InputFilter; import android.text.InputType; @@ -19,6 +15,10 @@ import android.view.KeyEvent; import android.view.inputmethod.EditorInfo; import android.view.inputmethod.InputConnection; +import androidx.core.view.inputmethod.EditorInfoCompat; +import androidx.core.view.inputmethod.InputConnectionCompat; +import androidx.core.view.inputmethod.InputContentInfoCompat; + import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; diff --git a/src/main/java/eu/siacs/conversations/ui/widget/ScannerView.java b/src/main/java/eu/siacs/conversations/ui/widget/ScannerView.java index 4eb25418d..3d7d37170 100644 --- a/src/main/java/eu/siacs/conversations/ui/widget/ScannerView.java +++ b/src/main/java/eu/siacs/conversations/ui/widget/ScannerView.java @@ -17,12 +17,6 @@ package eu.siacs.conversations.ui.widget; -import java.util.HashMap; -import java.util.Iterator; -import java.util.Map; - -import com.google.zxing.ResultPoint; - import android.content.Context; import android.content.res.Resources; import android.graphics.Canvas; @@ -35,6 +29,12 @@ import android.graphics.RectF; import android.util.AttributeSet; import android.view.View; +import com.google.zxing.ResultPoint; + +import java.util.HashMap; +import java.util.Iterator; +import java.util.Map; + import eu.siacs.conversations.R; /** diff --git a/src/main/java/eu/siacs/conversations/ui/widget/SwipeRefreshListFragment.java b/src/main/java/eu/siacs/conversations/ui/widget/SwipeRefreshListFragment.java index 8057a423f..b1ef6165a 100644 --- a/src/main/java/eu/siacs/conversations/ui/widget/SwipeRefreshListFragment.java +++ b/src/main/java/eu/siacs/conversations/ui/widget/SwipeRefreshListFragment.java @@ -18,13 +18,14 @@ package eu.siacs.conversations.ui.widget; import android.content.Context; import android.os.Bundle; -import androidx.fragment.app.ListFragment; -import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ListView; +import androidx.fragment.app.ListFragment; +import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; + import eu.siacs.conversations.R; import eu.siacs.conversations.ui.util.StyledAttributes; diff --git a/src/main/java/eu/siacs/conversations/ui/widget/UnreadCountCustomView.java b/src/main/java/eu/siacs/conversations/ui/widget/UnreadCountCustomView.java index cfe291f73..380b929e3 100644 --- a/src/main/java/eu/siacs/conversations/ui/widget/UnreadCountCustomView.java +++ b/src/main/java/eu/siacs/conversations/ui/widget/UnreadCountCustomView.java @@ -6,10 +6,11 @@ import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.graphics.Typeface; -import androidx.core.content.ContextCompat; import android.util.AttributeSet; import android.view.View; +import androidx.core.content.ContextCompat; + import eu.siacs.conversations.R; public class UnreadCountCustomView extends View { diff --git a/src/main/java/eu/siacs/conversations/utils/Android360pFormatStrategy.java b/src/main/java/eu/siacs/conversations/utils/Android360pFormatStrategy.java index b2da09f97..a692cc6dc 100644 --- a/src/main/java/eu/siacs/conversations/utils/Android360pFormatStrategy.java +++ b/src/main/java/eu/siacs/conversations/utils/Android360pFormatStrategy.java @@ -3,9 +3,10 @@ package eu.siacs.conversations.utils; import android.media.MediaCodecInfo; import android.media.MediaFormat; import android.os.Build; -import androidx.annotation.RequiresApi; import android.util.Log; +import androidx.annotation.RequiresApi; + import net.ypresto.androidtranscoder.format.MediaFormatExtraConstants; import net.ypresto.androidtranscoder.format.MediaFormatStrategy; import net.ypresto.androidtranscoder.format.OutputFormatUnavailableException; diff --git a/src/main/java/eu/siacs/conversations/utils/Android720pFormatStrategy.java b/src/main/java/eu/siacs/conversations/utils/Android720pFormatStrategy.java index 47ad515eb..274ebb76f 100644 --- a/src/main/java/eu/siacs/conversations/utils/Android720pFormatStrategy.java +++ b/src/main/java/eu/siacs/conversations/utils/Android720pFormatStrategy.java @@ -3,9 +3,10 @@ package eu.siacs.conversations.utils; import android.media.MediaCodecInfo; import android.media.MediaFormat; import android.os.Build; -import androidx.annotation.RequiresApi; import android.util.Log; +import androidx.annotation.RequiresApi; + import net.ypresto.androidtranscoder.format.MediaFormatExtraConstants; import net.ypresto.androidtranscoder.format.MediaFormatStrategy; import net.ypresto.androidtranscoder.format.OutputFormatUnavailableException; diff --git a/src/main/java/eu/siacs/conversations/utils/AndroidUsingExecLowPriority.java b/src/main/java/eu/siacs/conversations/utils/AndroidUsingExecLowPriority.java index d06c3afeb..d8c46b08f 100644 --- a/src/main/java/eu/siacs/conversations/utils/AndroidUsingExecLowPriority.java +++ b/src/main/java/eu/siacs/conversations/utils/AndroidUsingExecLowPriority.java @@ -11,11 +11,6 @@ package eu.siacs.conversations.utils; -import de.measite.minidns.dnsserverlookup.AbstractDNSServerLookupMechanism; -import de.measite.minidns.dnsserverlookup.AndroidUsingReflection; -import de.measite.minidns.dnsserverlookup.DNSServerLookupMechanism; -import de.measite.minidns.util.PlatformDetection; - import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; @@ -24,6 +19,11 @@ import java.net.InetAddress; import java.util.HashSet; import java.util.logging.Level; +import de.measite.minidns.dnsserverlookup.AbstractDNSServerLookupMechanism; +import de.measite.minidns.dnsserverlookup.AndroidUsingReflection; +import de.measite.minidns.dnsserverlookup.DNSServerLookupMechanism; +import de.measite.minidns.util.PlatformDetection; + /** * Try to retrieve the list of DNS server by executing getprop. */ diff --git a/src/main/java/eu/siacs/conversations/utils/BackupFileHeader.java b/src/main/java/eu/siacs/conversations/utils/BackupFileHeader.java index 212473ea4..54387a8ee 100644 --- a/src/main/java/eu/siacs/conversations/utils/BackupFileHeader.java +++ b/src/main/java/eu/siacs/conversations/utils/BackupFileHeader.java @@ -10,11 +10,11 @@ public class BackupFileHeader { private static final int VERSION = 1; - private String app; - private Jid jid; - private long timestamp; - private byte[] iv; - private byte[] salt; + private final String app; + private final Jid jid; + private final long timestamp; + private final byte[] iv; + private final byte[] salt; @Override diff --git a/src/main/java/eu/siacs/conversations/utils/Compatibility.java b/src/main/java/eu/siacs/conversations/utils/Compatibility.java index e11ea42d7..1ea0d70ea 100644 --- a/src/main/java/eu/siacs/conversations/utils/Compatibility.java +++ b/src/main/java/eu/siacs/conversations/utils/Compatibility.java @@ -10,9 +10,10 @@ import android.os.Build; import android.preference.Preference; import android.preference.PreferenceCategory; import android.preference.PreferenceManager; +import android.util.Log; + import androidx.annotation.BoolRes; import androidx.core.content.ContextCompat; -import android.util.Log; import java.util.Arrays; import java.util.List; diff --git a/src/main/java/eu/siacs/conversations/utils/ConversationsFileObserver.java b/src/main/java/eu/siacs/conversations/utils/ConversationsFileObserver.java index 8bf36ea1f..4ee842223 100644 --- a/src/main/java/eu/siacs/conversations/utils/ConversationsFileObserver.java +++ b/src/main/java/eu/siacs/conversations/utils/ConversationsFileObserver.java @@ -6,7 +6,6 @@ import android.util.Log; import java.io.File; import java.util.ArrayList; -import java.util.Collections; import java.util.List; import java.util.Stack; import java.util.concurrent.Executor; diff --git a/src/main/java/eu/siacs/conversations/utils/CryptoHelper.java b/src/main/java/eu/siacs/conversations/utils/CryptoHelper.java index 0a2231389..3174c4198 100644 --- a/src/main/java/eu/siacs/conversations/utils/CryptoHelper.java +++ b/src/main/java/eu/siacs/conversations/utils/CryptoHelper.java @@ -11,6 +11,7 @@ import org.bouncycastle.cert.jcajce.JcaX509CertificateHolder; import java.net.MalformedURLException; import java.net.URL; +import java.nio.charset.StandardCharsets; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.security.SecureRandom; @@ -256,7 +257,7 @@ public final class CryptoHelper { public static String getFingerprint(String value) { try { MessageDigest md = MessageDigest.getInstance("SHA-1"); - return bytesToHex(md.digest(value.getBytes("UTF-8"))); + return bytesToHex(md.digest(value.getBytes(StandardCharsets.UTF_8))); } catch (Exception e) { return ""; } diff --git a/src/main/java/eu/siacs/conversations/utils/EasyOnboardingInvite.java b/src/main/java/eu/siacs/conversations/utils/EasyOnboardingInvite.java index e4ed8e1b5..37bce5e22 100644 --- a/src/main/java/eu/siacs/conversations/utils/EasyOnboardingInvite.java +++ b/src/main/java/eu/siacs/conversations/utils/EasyOnboardingInvite.java @@ -16,9 +16,9 @@ import eu.siacs.conversations.xmpp.XmppConnection; public class EasyOnboardingInvite implements Parcelable { - private String domain; - private String uri; - private String landingUrl; + private final String domain; + private final String uri; + private final String landingUrl; protected EasyOnboardingInvite(Parcel in) { domain = in.readString(); diff --git a/src/main/java/eu/siacs/conversations/utils/Emoticons.java b/src/main/java/eu/siacs/conversations/utils/Emoticons.java index 39106caa8..266d9d081 100644 --- a/src/main/java/eu/siacs/conversations/utils/Emoticons.java +++ b/src/main/java/eu/siacs/conversations/utils/Emoticons.java @@ -29,9 +29,10 @@ package eu.siacs.conversations.utils; -import androidx.annotation.NonNull; import android.util.LruCache; +import androidx.annotation.NonNull; + import java.util.ArrayList; import java.util.Arrays; import java.util.HashSet; diff --git a/src/main/java/eu/siacs/conversations/utils/ExceptionHandler.java b/src/main/java/eu/siacs/conversations/utils/ExceptionHandler.java index 808abbdb4..8a77e04bb 100644 --- a/src/main/java/eu/siacs/conversations/utils/ExceptionHandler.java +++ b/src/main/java/eu/siacs/conversations/utils/ExceptionHandler.java @@ -1,6 +1,7 @@ package eu.siacs.conversations.utils; import android.content.Context; + import androidx.annotation.NonNull; import java.io.PrintWriter; diff --git a/src/main/java/eu/siacs/conversations/utils/ExceptionHelper.java b/src/main/java/eu/siacs/conversations/utils/ExceptionHelper.java index 9ad6b5d3d..ea272302b 100644 --- a/src/main/java/eu/siacs/conversations/utils/ExceptionHelper.java +++ b/src/main/java/eu/siacs/conversations/utils/ExceptionHelper.java @@ -6,9 +6,10 @@ import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.content.pm.Signature; import android.preference.PreferenceManager; -import androidx.appcompat.app.AlertDialog; import android.util.Log; +import androidx.appcompat.app.AlertDialog; + import java.io.BufferedReader; import java.io.FileInputStream; import java.io.IOException; diff --git a/src/main/java/eu/siacs/conversations/utils/FtsUtils.java b/src/main/java/eu/siacs/conversations/utils/FtsUtils.java index 88959c6b2..6984d20ec 100644 --- a/src/main/java/eu/siacs/conversations/utils/FtsUtils.java +++ b/src/main/java/eu/siacs/conversations/utils/FtsUtils.java @@ -37,7 +37,7 @@ import java.util.Locale; public class FtsUtils { - private static List<String> KEYWORDS = Arrays.asList("OR", "AND"); + private static final List<String> KEYWORDS = Arrays.asList("OR", "AND"); public static List<String> parse(String input) { List<String> term = new ArrayList<>(); diff --git a/src/main/java/eu/siacs/conversations/utils/GeoHelper.java b/src/main/java/eu/siacs/conversations/utils/GeoHelper.java index 9847236ef..459968f37 100644 --- a/src/main/java/eu/siacs/conversations/utils/GeoHelper.java +++ b/src/main/java/eu/siacs/conversations/utils/GeoHelper.java @@ -107,7 +107,7 @@ public class GeoHelper { intents.add(geoIntent(geoPoint, label)); Intent httpIntent = new Intent(Intent.ACTION_VIEW); - httpIntent.setData(Uri.parse("https://maps.google.com/maps?q=loc:"+String.valueOf(geoPoint.getLatitude()) + "," + String.valueOf(geoPoint.getLongitude()) +label)); + httpIntent.setData(Uri.parse("https://maps.google.com/maps?q=loc:"+ geoPoint.getLatitude() + "," + geoPoint.getLongitude() +label)); intents.add(httpIntent); return intents; } @@ -120,7 +120,7 @@ public class GeoHelper { private static Intent geoIntent(GeoPoint geoPoint, String label) { Intent geoIntent = new Intent(Intent.ACTION_VIEW); - geoIntent.setData(Uri.parse("geo:" + String.valueOf(geoPoint.getLatitude()) + "," + String.valueOf(geoPoint.getLongitude()) + "?q=" + String.valueOf(geoPoint.getLatitude()) + "," + String.valueOf(geoPoint.getLongitude()) + "("+ label+")")); + geoIntent.setData(Uri.parse("geo:" + geoPoint.getLatitude() + "," + geoPoint.getLongitude() + "?q=" + geoPoint.getLatitude() + "," + geoPoint.getLongitude() + "("+ label+")")); return geoIntent; } diff --git a/src/main/java/eu/siacs/conversations/utils/ImStyleParser.java b/src/main/java/eu/siacs/conversations/utils/ImStyleParser.java index 873ab9f43..d21bfadf1 100644 --- a/src/main/java/eu/siacs/conversations/utils/ImStyleParser.java +++ b/src/main/java/eu/siacs/conversations/utils/ImStyleParser.java @@ -53,7 +53,7 @@ public class ImStyleParser { if (BLOCK_KEYWORDS.contains(c) && isCharRepeatedTwoTimes(text, c, i + 1, end)) { int to = seekEndBlock(text, c, i + 3, end); if (to != -1 && (to != i + 5 || ALLOW_EMPTY)) { - String keyword = String.valueOf(c) + String.valueOf(c) + String.valueOf(c); + String keyword = String.valueOf(c) + c + c; styles.add(new Style(keyword, i, to)); i = to; continue; diff --git a/src/main/java/eu/siacs/conversations/utils/IrregularUnicodeDetector.java b/src/main/java/eu/siacs/conversations/utils/IrregularUnicodeDetector.java index 52936fcfa..d3aade355 100644 --- a/src/main/java/eu/siacs/conversations/utils/IrregularUnicodeDetector.java +++ b/src/main/java/eu/siacs/conversations/utils/IrregularUnicodeDetector.java @@ -32,13 +32,14 @@ package eu.siacs.conversations.utils; import android.annotation.TargetApi; import android.content.Context; import android.os.Build; -import androidx.annotation.ColorInt; import android.text.Spannable; import android.text.SpannableString; import android.text.SpannableStringBuilder; import android.text.style.ForegroundColorSpan; import android.util.LruCache; +import androidx.annotation.ColorInt; + import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; @@ -229,8 +230,7 @@ public class IrregularUnicodeDetector { if (pattern != null) { return pattern; } - ; - pattern = PatternTuple.of(jid); + pattern = PatternTuple.of(jid); CACHE.put(jid, pattern); return pattern; } diff --git a/src/main/java/eu/siacs/conversations/utils/JidHelper.java b/src/main/java/eu/siacs/conversations/utils/JidHelper.java index c53af65ed..e7443c8bb 100644 --- a/src/main/java/eu/siacs/conversations/utils/JidHelper.java +++ b/src/main/java/eu/siacs/conversations/utils/JidHelper.java @@ -40,7 +40,7 @@ import eu.siacs.conversations.xmpp.Jid; public class JidHelper { - private static List<String> LOCAL_PART_BLACKLIST = Arrays.asList("xmpp", "jabber", "me"); + private static final List<String> LOCAL_PART_BLACKLIST = Arrays.asList("xmpp", "jabber", "me"); public static String localPartOrFallback(Jid jid) { if (LOCAL_PART_BLACKLIST.contains(jid.getLocal().toLowerCase(Locale.ENGLISH))) { diff --git a/src/main/java/eu/siacs/conversations/utils/MessageUtils.java b/src/main/java/eu/siacs/conversations/utils/MessageUtils.java index e8ae07e68..d8b991894 100644 --- a/src/main/java/eu/siacs/conversations/utils/MessageUtils.java +++ b/src/main/java/eu/siacs/conversations/utils/MessageUtils.java @@ -62,8 +62,8 @@ public class MessageUtils { } body = nick + " " + message.getBody().substring(Message.ME_COMMAND.length()); } else { - body = message.getMergedBody().toString();; - } + body = message.getMergedBody().toString(); + } for (String line : body.split("\n")) { if (line.length() <= 0) { continue; diff --git a/src/main/java/eu/siacs/conversations/utils/OnPhoneContactsLoadedListener.java b/src/main/java/eu/siacs/conversations/utils/OnPhoneContactsLoadedListener.java index f18a4ed8e..9ae928812 100644 --- a/src/main/java/eu/siacs/conversations/utils/OnPhoneContactsLoadedListener.java +++ b/src/main/java/eu/siacs/conversations/utils/OnPhoneContactsLoadedListener.java @@ -5,5 +5,5 @@ import android.os.Bundle; import java.util.List; public interface OnPhoneContactsLoadedListener { - public void onPhoneContactsLoaded(List<Bundle> phoneContacts); + void onPhoneContactsLoaded(List<Bundle> phoneContacts); } diff --git a/src/main/java/eu/siacs/conversations/utils/PermissionUtils.java b/src/main/java/eu/siacs/conversations/utils/PermissionUtils.java index f025c256f..80b58d8cb 100644 --- a/src/main/java/eu/siacs/conversations/utils/PermissionUtils.java +++ b/src/main/java/eu/siacs/conversations/utils/PermissionUtils.java @@ -4,6 +4,7 @@ import android.Manifest; import android.app.Activity; import android.content.pm.PackageManager; import android.os.Build; + import androidx.core.app.ActivityCompat; import com.google.common.collect.ImmutableList; diff --git a/src/main/java/eu/siacs/conversations/utils/PhoneHelper.java b/src/main/java/eu/siacs/conversations/utils/PhoneHelper.java index e849730b7..0238dc975 100644 --- a/src/main/java/eu/siacs/conversations/utils/PhoneHelper.java +++ b/src/main/java/eu/siacs/conversations/utils/PhoneHelper.java @@ -3,20 +3,13 @@ package eu.siacs.conversations.utils; import android.Manifest; import android.annotation.SuppressLint; import android.content.Context; -import android.content.CursorLoader; import android.content.pm.PackageManager; import android.database.Cursor; import android.net.Uri; import android.os.Build; -import android.os.Bundle; -import android.provider.ContactsContract; import android.provider.ContactsContract.Profile; import android.provider.Settings; -import java.util.ArrayList; -import java.util.List; -import java.util.concurrent.RejectedExecutionException; - public class PhoneHelper { @SuppressLint("HardwareIds") diff --git a/src/main/java/eu/siacs/conversations/utils/QuickLoader.java b/src/main/java/eu/siacs/conversations/utils/QuickLoader.java index 34e9e0e97..07d46281d 100644 --- a/src/main/java/eu/siacs/conversations/utils/QuickLoader.java +++ b/src/main/java/eu/siacs/conversations/utils/QuickLoader.java @@ -37,7 +37,7 @@ import eu.siacs.conversations.entities.Conversation; public class QuickLoader { private static String CONVERSATION_UUID = null; - private static Object LOCK = new Object(); + private static final Object LOCK = new Object(); public static void set(final String uuid) { synchronized (LOCK) { diff --git a/src/main/java/eu/siacs/conversations/utils/Resolver.java b/src/main/java/eu/siacs/conversations/utils/Resolver.java index 27685a65d..6e0973bf4 100644 --- a/src/main/java/eu/siacs/conversations/utils/Resolver.java +++ b/src/main/java/eu/siacs/conversations/utils/Resolver.java @@ -2,9 +2,10 @@ package eu.siacs.conversations.utils; import android.content.ContentValues; import android.database.Cursor; -import androidx.annotation.NonNull; import android.util.Log; +import androidx.annotation.NonNull; + import java.io.IOException; import java.lang.reflect.Field; import java.net.Inet4Address; diff --git a/src/main/java/eu/siacs/conversations/utils/SSLSocketHelper.java b/src/main/java/eu/siacs/conversations/utils/SSLSocketHelper.java index 6835f5d3f..53d4f4169 100644 --- a/src/main/java/eu/siacs/conversations/utils/SSLSocketHelper.java +++ b/src/main/java/eu/siacs/conversations/utils/SSLSocketHelper.java @@ -1,12 +1,14 @@ package eu.siacs.conversations.utils; import android.os.Build; -import androidx.annotation.RequiresApi; import android.util.Log; +import androidx.annotation.RequiresApi; + import org.conscrypt.Conscrypt; import java.lang.reflect.Method; +import java.nio.charset.StandardCharsets; import java.security.NoSuchAlgorithmException; import java.util.Arrays; import java.util.Collection; @@ -70,7 +72,7 @@ public class SSLSocketHelper { final Method method = socket.getClass().getMethod("setAlpnProtocols", byte[].class); // the concatenation of 8-bit, length prefixed protocol names, just one in our case... // http://tools.ietf.org/html/draft-agl-tls-nextprotoneg-04#page-4 - final byte[] protocolUTF8Bytes = protocol.getBytes("UTF-8"); + final byte[] protocolUTF8Bytes = protocol.getBytes(StandardCharsets.UTF_8); final byte[] lengthPrefixedProtocols = new byte[protocolUTF8Bytes.length + 1]; lengthPrefixedProtocols[0] = (byte) protocol.length(); // cannot be over 255 anyhow System.arraycopy(protocolUTF8Bytes, 0, lengthPrefixedProtocols, 1, protocolUTF8Bytes.length); diff --git a/src/main/java/eu/siacs/conversations/utils/StylingHelper.java b/src/main/java/eu/siacs/conversations/utils/StylingHelper.java index d434be126..7a18dffbb 100644 --- a/src/main/java/eu/siacs/conversations/utils/StylingHelper.java +++ b/src/main/java/eu/siacs/conversations/utils/StylingHelper.java @@ -32,8 +32,6 @@ package eu.siacs.conversations.utils; import android.content.Context; import android.graphics.Color; import android.graphics.Typeface; -import androidx.annotation.ColorInt; -import androidx.core.content.ContextCompat; import android.text.Editable; import android.text.ParcelableSpan; import android.text.Spannable; @@ -48,6 +46,9 @@ import android.text.style.TypefaceSpan; import android.widget.EditText; import android.widget.TextView; +import androidx.annotation.ColorInt; +import androidx.core.content.ContextCompat; + import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -58,7 +59,7 @@ import eu.siacs.conversations.ui.text.QuoteSpan; public class StylingHelper { - private static List<? extends Class<? extends ParcelableSpan>> SPAN_CLASSES = Arrays.asList( + private static final List<? extends Class<? extends ParcelableSpan>> SPAN_CLASSES = Arrays.asList( StyleSpan.class, StrikethroughSpan.class, TypefaceSpan.class, diff --git a/src/main/java/eu/siacs/conversations/utils/TLSSocketFactory.java b/src/main/java/eu/siacs/conversations/utils/TLSSocketFactory.java index 00bae7b75..8bd737c7e 100644 --- a/src/main/java/eu/siacs/conversations/utils/TLSSocketFactory.java +++ b/src/main/java/eu/siacs/conversations/utils/TLSSocketFactory.java @@ -6,6 +6,7 @@ import java.net.Socket; import java.security.KeyManagementException; import java.security.NoSuchAlgorithmException; import java.security.SecureRandom; + import javax.net.ssl.SSLContext; import javax.net.ssl.SSLSocket; import javax.net.ssl.SSLSocketFactory; diff --git a/src/main/java/eu/siacs/conversations/utils/ThemeHelper.java b/src/main/java/eu/siacs/conversations/utils/ThemeHelper.java index 36e8d8179..17311cb0c 100644 --- a/src/main/java/eu/siacs/conversations/utils/ThemeHelper.java +++ b/src/main/java/eu/siacs/conversations/utils/ThemeHelper.java @@ -36,12 +36,14 @@ import android.content.res.Resources; import android.content.res.TypedArray; import android.os.Build; import android.preference.PreferenceManager; -import androidx.annotation.StyleRes; -import com.google.android.material.snackbar.Snackbar; -import androidx.core.content.ContextCompat; import android.util.TypedValue; import android.widget.TextView; +import androidx.annotation.StyleRes; +import androidx.core.content.ContextCompat; + +import com.google.android.material.snackbar.Snackbar; + import eu.siacs.conversations.R; import eu.siacs.conversations.ui.SettingsActivity; diff --git a/src/main/java/eu/siacs/conversations/utils/TimeFrameUtils.java b/src/main/java/eu/siacs/conversations/utils/TimeFrameUtils.java index b96370dc3..1cb78db0c 100644 --- a/src/main/java/eu/siacs/conversations/utils/TimeFrameUtils.java +++ b/src/main/java/eu/siacs/conversations/utils/TimeFrameUtils.java @@ -31,6 +31,7 @@ package eu.siacs.conversations.utils; import android.content.Context; import android.os.SystemClock; + import androidx.annotation.PluralsRes; import java.util.Locale; diff --git a/src/main/java/eu/siacs/conversations/utils/UIHelper.java b/src/main/java/eu/siacs/conversations/utils/UIHelper.java index 2105c3db1..a686f8697 100644 --- a/src/main/java/eu/siacs/conversations/utils/UIHelper.java +++ b/src/main/java/eu/siacs/conversations/utils/UIHelper.java @@ -1,12 +1,13 @@ package eu.siacs.conversations.utils; import android.content.Context; -import androidx.annotation.ColorInt; import android.text.SpannableStringBuilder; import android.text.format.DateFormat; import android.text.format.DateUtils; import android.util.Pair; +import androidx.annotation.ColorInt; + import com.google.common.base.Strings; import java.math.BigInteger; diff --git a/src/main/java/eu/siacs/conversations/utils/XEP0392Helper.java b/src/main/java/eu/siacs/conversations/utils/XEP0392Helper.java index ee6a90e1e..69c00365e 100644 --- a/src/main/java/eu/siacs/conversations/utils/XEP0392Helper.java +++ b/src/main/java/eu/siacs/conversations/utils/XEP0392Helper.java @@ -1,10 +1,10 @@ package eu.siacs.conversations.utils; import android.graphics.Color; -import android.util.Log; import org.hsluv.HUSLColorConverter; +import java.nio.charset.StandardCharsets; import java.security.MessageDigest; class XEP0392Helper { @@ -12,7 +12,7 @@ class XEP0392Helper { private static double angle(String nickname) { try { MessageDigest sha1 = MessageDigest.getInstance("SHA-1"); - byte[] digest = sha1.digest(nickname.getBytes("UTF-8")); + byte[] digest = sha1.digest(nickname.getBytes(StandardCharsets.UTF_8)); int angle = ((int) (digest[0]) & 0xff) + ((int) (digest[1]) & 0xff) * 256; return angle / 65536.; } catch (Exception e) { diff --git a/src/main/java/eu/siacs/conversations/utils/XmppUri.java b/src/main/java/eu/siacs/conversations/utils/XmppUri.java index 7be4766f3..f3aa65155 100644 --- a/src/main/java/eu/siacs/conversations/utils/XmppUri.java +++ b/src/main/java/eu/siacs/conversations/utils/XmppUri.java @@ -1,6 +1,7 @@ package eu.siacs.conversations.utils; import android.net.Uri; + import androidx.annotation.NonNull; import com.google.common.collect.ImmutableList; diff --git a/src/main/java/eu/siacs/conversations/xml/Element.java b/src/main/java/eu/siacs/conversations/xml/Element.java index 1bd11f604..c0ece7f4c 100644 --- a/src/main/java/eu/siacs/conversations/xml/Element.java +++ b/src/main/java/eu/siacs/conversations/xml/Element.java @@ -6,8 +6,8 @@ import java.util.List; import eu.siacs.conversations.utils.XmlHelper; import eu.siacs.conversations.xmpp.InvalidJid; -import eu.siacs.conversations.xmpp.stanzas.MessagePacket; import eu.siacs.conversations.xmpp.Jid; +import eu.siacs.conversations.xmpp.stanzas.MessagePacket; public class Element { private final String name; diff --git a/src/main/java/eu/siacs/conversations/xml/TagWriter.java b/src/main/java/eu/siacs/conversations/xml/TagWriter.java index df062b8cf..0e03fc1e8 100644 --- a/src/main/java/eu/siacs/conversations/xml/TagWriter.java +++ b/src/main/java/eu/siacs/conversations/xml/TagWriter.java @@ -16,10 +16,10 @@ public class TagWriter { private OutputStreamWriter outputStream; private boolean finished = false; - private LinkedBlockingQueue<AbstractStanza> writeQueue = new LinkedBlockingQueue<AbstractStanza>(); + private final LinkedBlockingQueue<AbstractStanza> writeQueue = new LinkedBlockingQueue<AbstractStanza>(); private CountDownLatch stanzaWriterCountDownLatch = null; - private Thread asyncStanzaWriter = new Thread() { + private final Thread asyncStanzaWriter = new Thread() { @Override public void run() { diff --git a/src/main/java/eu/siacs/conversations/xmpp/OnAdvancedStreamFeaturesLoaded.java b/src/main/java/eu/siacs/conversations/xmpp/OnAdvancedStreamFeaturesLoaded.java index e45eba73e..9093076f7 100644 --- a/src/main/java/eu/siacs/conversations/xmpp/OnAdvancedStreamFeaturesLoaded.java +++ b/src/main/java/eu/siacs/conversations/xmpp/OnAdvancedStreamFeaturesLoaded.java @@ -3,5 +3,5 @@ package eu.siacs.conversations.xmpp; import eu.siacs.conversations.entities.Account; public interface OnAdvancedStreamFeaturesLoaded { - public void onAdvancedStreamFeaturesAvailable(final Account account); + void onAdvancedStreamFeaturesAvailable(final Account account); } diff --git a/src/main/java/eu/siacs/conversations/xmpp/OnBindListener.java b/src/main/java/eu/siacs/conversations/xmpp/OnBindListener.java index f09cf33dd..2406d8d7f 100644 --- a/src/main/java/eu/siacs/conversations/xmpp/OnBindListener.java +++ b/src/main/java/eu/siacs/conversations/xmpp/OnBindListener.java @@ -3,5 +3,5 @@ package eu.siacs.conversations.xmpp; import eu.siacs.conversations.entities.Account; public interface OnBindListener { - public void onBind(Account account); + void onBind(Account account); } diff --git a/src/main/java/eu/siacs/conversations/xmpp/OnContactStatusChanged.java b/src/main/java/eu/siacs/conversations/xmpp/OnContactStatusChanged.java index 20b17f021..afbe21c32 100644 --- a/src/main/java/eu/siacs/conversations/xmpp/OnContactStatusChanged.java +++ b/src/main/java/eu/siacs/conversations/xmpp/OnContactStatusChanged.java @@ -3,5 +3,5 @@ package eu.siacs.conversations.xmpp; import eu.siacs.conversations.entities.Contact; public interface OnContactStatusChanged { - public void onContactStatusChanged(final Contact contact, final boolean online); + void onContactStatusChanged(final Contact contact, final boolean online); } diff --git a/src/main/java/eu/siacs/conversations/xmpp/OnKeyStatusUpdated.java b/src/main/java/eu/siacs/conversations/xmpp/OnKeyStatusUpdated.java index e7fc582e4..705782455 100644 --- a/src/main/java/eu/siacs/conversations/xmpp/OnKeyStatusUpdated.java +++ b/src/main/java/eu/siacs/conversations/xmpp/OnKeyStatusUpdated.java @@ -3,5 +3,5 @@ package eu.siacs.conversations.xmpp; import eu.siacs.conversations.crypto.axolotl.AxolotlService; public interface OnKeyStatusUpdated { - public void onKeyStatusUpdated(AxolotlService.FetchStatus report); + void onKeyStatusUpdated(AxolotlService.FetchStatus report); } diff --git a/src/main/java/eu/siacs/conversations/xmpp/OnMessagePacketReceived.java b/src/main/java/eu/siacs/conversations/xmpp/OnMessagePacketReceived.java index 325e945f0..24acf16e2 100644 --- a/src/main/java/eu/siacs/conversations/xmpp/OnMessagePacketReceived.java +++ b/src/main/java/eu/siacs/conversations/xmpp/OnMessagePacketReceived.java @@ -4,5 +4,5 @@ import eu.siacs.conversations.entities.Account; import eu.siacs.conversations.xmpp.stanzas.MessagePacket; public interface OnMessagePacketReceived extends PacketReceived { - public void onMessagePacketReceived(Account account, MessagePacket packet); + void onMessagePacketReceived(Account account, MessagePacket packet); } diff --git a/src/main/java/eu/siacs/conversations/xmpp/OnPresencePacketReceived.java b/src/main/java/eu/siacs/conversations/xmpp/OnPresencePacketReceived.java index 95c1acfcc..e1bf839f4 100644 --- a/src/main/java/eu/siacs/conversations/xmpp/OnPresencePacketReceived.java +++ b/src/main/java/eu/siacs/conversations/xmpp/OnPresencePacketReceived.java @@ -4,5 +4,5 @@ import eu.siacs.conversations.entities.Account; import eu.siacs.conversations.xmpp.stanzas.PresencePacket; public interface OnPresencePacketReceived extends PacketReceived { - public void onPresencePacketReceived(Account account, PresencePacket packet); + void onPresencePacketReceived(Account account, PresencePacket packet); } diff --git a/src/main/java/eu/siacs/conversations/xmpp/OnStatusChanged.java b/src/main/java/eu/siacs/conversations/xmpp/OnStatusChanged.java index ad1d98cb9..262838b51 100644 --- a/src/main/java/eu/siacs/conversations/xmpp/OnStatusChanged.java +++ b/src/main/java/eu/siacs/conversations/xmpp/OnStatusChanged.java @@ -3,5 +3,5 @@ package eu.siacs.conversations.xmpp; import eu.siacs.conversations.entities.Account; public interface OnStatusChanged { - public void onStatusChanged(Account account); + void onStatusChanged(Account account); } diff --git a/src/main/java/eu/siacs/conversations/xmpp/OnUpdateBlocklist.java b/src/main/java/eu/siacs/conversations/xmpp/OnUpdateBlocklist.java index 92e72cfa8..e4f1a7cbe 100644 --- a/src/main/java/eu/siacs/conversations/xmpp/OnUpdateBlocklist.java +++ b/src/main/java/eu/siacs/conversations/xmpp/OnUpdateBlocklist.java @@ -3,11 +3,11 @@ package eu.siacs.conversations.xmpp; public interface OnUpdateBlocklist { // Use an enum instead of a boolean to make sure we don't run into the boolean trap // (`onUpdateBlocklist(true)' doesn't read well, and could be confusing). - public static enum Status { + enum Status { BLOCKED, UNBLOCKED } @SuppressWarnings("MethodNameSameAsClassName") - public void OnUpdateBlocklist(final Status status); + void OnUpdateBlocklist(final Status status); } diff --git a/src/main/java/eu/siacs/conversations/xmpp/PacketReceived.java b/src/main/java/eu/siacs/conversations/xmpp/PacketReceived.java index d4502d734..05ddc392f 100644 --- a/src/main/java/eu/siacs/conversations/xmpp/PacketReceived.java +++ b/src/main/java/eu/siacs/conversations/xmpp/PacketReceived.java @@ -1,5 +1,5 @@ package eu.siacs.conversations.xmpp; -public abstract interface PacketReceived { +public interface PacketReceived { } diff --git a/src/main/java/eu/siacs/conversations/xmpp/WrappedJid.java b/src/main/java/eu/siacs/conversations/xmpp/WrappedJid.java index 42fa7f3ae..08fb6e6dc 100644 --- a/src/main/java/eu/siacs/conversations/xmpp/WrappedJid.java +++ b/src/main/java/eu/siacs/conversations/xmpp/WrappedJid.java @@ -5,7 +5,6 @@ import androidx.annotation.NonNull; import org.jxmpp.jid.Jid; import org.jxmpp.jid.impl.JidCreate; -import org.jxmpp.jid.parts.Domainpart; import org.jxmpp.jid.parts.Localpart; import org.jxmpp.jid.parts.Resourcepart; import org.jxmpp.stringprep.XmppStringprepException; diff --git a/src/main/java/eu/siacs/conversations/xmpp/XmppConnection.java b/src/main/java/eu/siacs/conversations/xmpp/XmppConnection.java index 59fc3977a..4537b85c5 100644 --- a/src/main/java/eu/siacs/conversations/xmpp/XmppConnection.java +++ b/src/main/java/eu/siacs/conversations/xmpp/XmppConnection.java @@ -5,12 +5,13 @@ import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.os.SystemClock; import android.security.KeyChain; -import androidx.annotation.NonNull; import android.util.Base64; import android.util.Log; import android.util.Pair; import android.util.SparseArray; +import androidx.annotation.NonNull; + import org.xmlpull.v1.XmlPullParserException; import java.io.ByteArrayInputStream; diff --git a/src/main/java/eu/siacs/conversations/xmpp/jingle/AbstractJingleConnection.java b/src/main/java/eu/siacs/conversations/xmpp/jingle/AbstractJingleConnection.java index bd50a22a2..0b1ff4495 100644 --- a/src/main/java/eu/siacs/conversations/xmpp/jingle/AbstractJingleConnection.java +++ b/src/main/java/eu/siacs/conversations/xmpp/jingle/AbstractJingleConnection.java @@ -8,8 +8,8 @@ import eu.siacs.conversations.entities.Account; import eu.siacs.conversations.entities.Contact; import eu.siacs.conversations.entities.Message; import eu.siacs.conversations.services.XmppConnectionService; -import eu.siacs.conversations.xmpp.jingle.stanzas.JinglePacket; import eu.siacs.conversations.xmpp.Jid; +import eu.siacs.conversations.xmpp.jingle.stanzas.JinglePacket; public abstract class AbstractJingleConnection { diff --git a/src/main/java/eu/siacs/conversations/xmpp/jingle/JingleCandidate.java b/src/main/java/eu/siacs/conversations/xmpp/jingle/JingleCandidate.java index 0fd0eabaf..78ffb28be 100644 --- a/src/main/java/eu/siacs/conversations/xmpp/jingle/JingleCandidate.java +++ b/src/main/java/eu/siacs/conversations/xmpp/jingle/JingleCandidate.java @@ -13,9 +13,9 @@ public class JingleCandidate { public static int TYPE_DIRECT = 0; public static int TYPE_PROXY = 1; - private boolean ours; + private final boolean ours; private boolean usedByCounterpart = false; - private String cid; + private final String cid; private String host; private int port; private int type; diff --git a/src/main/java/eu/siacs/conversations/xmpp/jingle/JingleConnectionManager.java b/src/main/java/eu/siacs/conversations/xmpp/jingle/JingleConnectionManager.java index 178ac659c..27111af35 100644 --- a/src/main/java/eu/siacs/conversations/xmpp/jingle/JingleConnectionManager.java +++ b/src/main/java/eu/siacs/conversations/xmpp/jingle/JingleConnectionManager.java @@ -14,7 +14,6 @@ import com.google.common.collect.ImmutableSet; import java.lang.ref.WeakReference; import java.security.SecureRandom; -import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.HashMap; @@ -61,7 +60,7 @@ public class JingleConnectionManager extends AbstractConnectionManager { .expireAfterWrite(24, TimeUnit.HOURS) .build(); - private HashMap<Jid, JingleCandidate> primaryCandidates = new HashMap<>(); + private final HashMap<Jid, JingleCandidate> primaryCandidates = new HashMap<>(); public JingleConnectionManager(XmppConnectionService service) { super(service); diff --git a/src/main/java/eu/siacs/conversations/xmpp/jingle/JingleFileTransferConnection.java b/src/main/java/eu/siacs/conversations/xmpp/jingle/JingleFileTransferConnection.java index 408635f93..8997a5043 100644 --- a/src/main/java/eu/siacs/conversations/xmpp/jingle/JingleFileTransferConnection.java +++ b/src/main/java/eu/siacs/conversations/xmpp/jingle/JingleFileTransferConnection.java @@ -41,6 +41,7 @@ import eu.siacs.conversations.services.AbstractConnectionManager; import eu.siacs.conversations.utils.CryptoHelper; import eu.siacs.conversations.xml.Element; import eu.siacs.conversations.xml.Namespace; +import eu.siacs.conversations.xmpp.Jid; import eu.siacs.conversations.xmpp.OnIqPacketReceived; import eu.siacs.conversations.xmpp.jingle.stanzas.Content; import eu.siacs.conversations.xmpp.jingle.stanzas.FileTransferDescription; @@ -50,7 +51,6 @@ import eu.siacs.conversations.xmpp.jingle.stanzas.JinglePacket; import eu.siacs.conversations.xmpp.jingle.stanzas.Reason; import eu.siacs.conversations.xmpp.jingle.stanzas.S5BTransportInfo; import eu.siacs.conversations.xmpp.stanzas.IqPacket; -import eu.siacs.conversations.xmpp.Jid; public class JingleFileTransferConnection extends AbstractJingleConnection implements Transferable { @@ -70,8 +70,8 @@ public class JingleFileTransferConnection extends AbstractJingleConnection imple private int mStatus = Transferable.STATUS_UNKNOWN; private Message message; private Jid responder; - private List<JingleCandidate> candidates = new ArrayList<>(); - private ConcurrentHashMap<String, JingleSocks5Transport> connections = new ConcurrentHashMap<>(); + private final List<JingleCandidate> candidates = new ArrayList<>(); + private final ConcurrentHashMap<String, JingleSocks5Transport> connections = new ConcurrentHashMap<>(); private String transportId; private FileTransferDescription description; @@ -100,7 +100,7 @@ public class JingleFileTransferConnection extends AbstractJingleConnection imple private OutputStream mFileOutputStream; private InputStream mFileInputStream; - private OnIqPacketReceived responseListener = (account, packet) -> { + private final OnIqPacketReceived responseListener = (account, packet) -> { if (packet.getType() != IqPacket.TYPE.RESULT) { if (mJingleStatus != JINGLE_STATUS_FAILED && mJingleStatus != JINGLE_STATUS_FINISHED) { fail(IqParser.extractErrorMessage(packet)); @@ -164,7 +164,7 @@ public class JingleFileTransferConnection extends AbstractJingleConnection imple JingleFileTransferConnection.this.fail(); } }; - private OnTransportConnected onIbbTransportConnected = new OnTransportConnected() { + private final OnTransportConnected onIbbTransportConnected = new OnTransportConnected() { @Override public void failed() { Log.d(Config.LOGTAG, "ibb open failed"); @@ -177,7 +177,7 @@ public class JingleFileTransferConnection extends AbstractJingleConnection imple JingleFileTransferConnection.this.transport.send(file, onFileTransmissionStatusChanged); } }; - private OnProxyActivated onProxyActivated = new OnProxyActivated() { + private final OnProxyActivated onProxyActivated = new OnProxyActivated() { @Override public void success() { diff --git a/src/main/java/eu/siacs/conversations/xmpp/jingle/JingleInBandTransport.java b/src/main/java/eu/siacs/conversations/xmpp/jingle/JingleInBandTransport.java index 7be13bedb..c68941928 100644 --- a/src/main/java/eu/siacs/conversations/xmpp/jingle/JingleInBandTransport.java +++ b/src/main/java/eu/siacs/conversations/xmpp/jingle/JingleInBandTransport.java @@ -18,9 +18,9 @@ import eu.siacs.conversations.entities.DownloadableFile; import eu.siacs.conversations.persistance.FileBackend; import eu.siacs.conversations.services.AbstractConnectionManager; import eu.siacs.conversations.xml.Element; +import eu.siacs.conversations.xmpp.Jid; import eu.siacs.conversations.xmpp.OnIqPacketReceived; import eu.siacs.conversations.xmpp.stanzas.IqPacket; -import eu.siacs.conversations.xmpp.Jid; public class JingleInBandTransport extends JingleTransport { @@ -46,7 +46,7 @@ public class JingleInBandTransport extends JingleTransport { private OnFileTransmissionStatusChanged onFileTransmissionStatusChanged; - private OnIqPacketReceived onAckReceived = new OnIqPacketReceived() { + private final OnIqPacketReceived onAckReceived = new OnIqPacketReceived() { @Override public void onIqPacketReceived(Account account, IqPacket packet) { if (!connected) { diff --git a/src/main/java/eu/siacs/conversations/xmpp/jingle/OnTransportConnected.java b/src/main/java/eu/siacs/conversations/xmpp/jingle/OnTransportConnected.java index 38f03c5d0..3e397823d 100644 --- a/src/main/java/eu/siacs/conversations/xmpp/jingle/OnTransportConnected.java +++ b/src/main/java/eu/siacs/conversations/xmpp/jingle/OnTransportConnected.java @@ -1,7 +1,7 @@ package eu.siacs.conversations.xmpp.jingle; public interface OnTransportConnected { - public void failed(); + void failed(); - public void established(); + void established(); } diff --git a/src/main/java/eu/siacs/conversations/xmpp/jingle/RtpCapability.java b/src/main/java/eu/siacs/conversations/xmpp/jingle/RtpCapability.java index fb7a60480..e24e68ebb 100644 --- a/src/main/java/eu/siacs/conversations/xmpp/jingle/RtpCapability.java +++ b/src/main/java/eu/siacs/conversations/xmpp/jingle/RtpCapability.java @@ -16,7 +16,7 @@ import eu.siacs.conversations.xml.Namespace; public class RtpCapability { - private static List<String> BASIC_RTP_REQUIREMENTS = Arrays.asList( + private static final List<String> BASIC_RTP_REQUIREMENTS = Arrays.asList( Namespace.JINGLE, Namespace.JINGLE_TRANSPORT_ICE_UDP, Namespace.JINGLE_APPS_RTP, diff --git a/src/main/java/eu/siacs/conversations/xmpp/jingle/SessionDescription.java b/src/main/java/eu/siacs/conversations/xmpp/jingle/SessionDescription.java index 52762407f..7c329089a 100644 --- a/src/main/java/eu/siacs/conversations/xmpp/jingle/SessionDescription.java +++ b/src/main/java/eu/siacs/conversations/xmpp/jingle/SessionDescription.java @@ -88,7 +88,6 @@ public class SessionDescription { case 'm': if (currentMediaBuilder == null) { sessionDescriptionBuilder.setAttributes(attributeMap); - ; } else { currentMediaBuilder.setAttributes(attributeMap); mediaBuilder.add(currentMediaBuilder.createMedia()); diff --git a/src/main/java/eu/siacs/conversations/xmpp/jingle/stanzas/Content.java b/src/main/java/eu/siacs/conversations/xmpp/jingle/stanzas/Content.java index e945e4b4b..e21c38968 100644 --- a/src/main/java/eu/siacs/conversations/xmpp/jingle/stanzas/Content.java +++ b/src/main/java/eu/siacs/conversations/xmpp/jingle/stanzas/Content.java @@ -6,7 +6,6 @@ import com.google.common.base.Preconditions; import java.util.Locale; -import eu.siacs.conversations.entities.DownloadableFile; import eu.siacs.conversations.xml.Element; import eu.siacs.conversations.xml.Namespace; diff --git a/src/main/java/eu/siacs/conversations/xmpp/jingle/stanzas/JinglePacket.java b/src/main/java/eu/siacs/conversations/xmpp/jingle/stanzas/JinglePacket.java index d4c5fd745..0863b29df 100644 --- a/src/main/java/eu/siacs/conversations/xmpp/jingle/stanzas/JinglePacket.java +++ b/src/main/java/eu/siacs/conversations/xmpp/jingle/stanzas/JinglePacket.java @@ -11,8 +11,8 @@ import java.util.Map; import eu.siacs.conversations.xml.Element; import eu.siacs.conversations.xml.Namespace; -import eu.siacs.conversations.xmpp.stanzas.IqPacket; import eu.siacs.conversations.xmpp.Jid; +import eu.siacs.conversations.xmpp.stanzas.IqPacket; public class JinglePacket extends IqPacket { diff --git a/src/main/java/eu/siacs/conversations/xmpp/pep/Avatar.java b/src/main/java/eu/siacs/conversations/xmpp/pep/Avatar.java index 1e4c1f629..a4397e466 100644 --- a/src/main/java/eu/siacs/conversations/xmpp/pep/Avatar.java +++ b/src/main/java/eu/siacs/conversations/xmpp/pep/Avatar.java @@ -7,9 +7,9 @@ import eu.siacs.conversations.xmpp.Jid; public class Avatar { - public enum Origin { PEP, VCARD }; + public enum Origin { PEP, VCARD } - public String type; + public String type; public String sha1sum; public String image; public int height; diff --git a/src/playstore/java/eu/siacs/conversations/services/MaintenanceReceiver.java b/src/playstore/java/eu/siacs/conversations/services/MaintenanceReceiver.java index cdbdd5954..24212cf34 100644 --- a/src/playstore/java/eu/siacs/conversations/services/MaintenanceReceiver.java +++ b/src/playstore/java/eu/siacs/conversations/services/MaintenanceReceiver.java @@ -3,7 +3,6 @@ package eu.siacs.conversations.services; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; -import androidx.core.content.ContextCompat; import android.util.Log; import com.google.firebase.iid.FirebaseInstanceId; diff --git a/src/playstore/java/eu/siacs/conversations/services/PushManagementService.java b/src/playstore/java/eu/siacs/conversations/services/PushManagementService.java index 987b511e5..db1ad6586 100644 --- a/src/playstore/java/eu/siacs/conversations/services/PushManagementService.java +++ b/src/playstore/java/eu/siacs/conversations/services/PushManagementService.java @@ -75,7 +75,6 @@ public class PushManagementService { final FirebaseMessaging firebaseMessaging; try { firebaseMessaging = FirebaseMessaging.getInstance(); - ; } catch (IllegalStateException e) { Log.d(Config.LOGTAG, "unable to get firebase instance token ", e); return; diff --git a/src/playstore/java/eu/siacs/conversations/services/PushMessageReceiver.java b/src/playstore/java/eu/siacs/conversations/services/PushMessageReceiver.java index 871fdb03a..f060747a5 100644 --- a/src/playstore/java/eu/siacs/conversations/services/PushMessageReceiver.java +++ b/src/playstore/java/eu/siacs/conversations/services/PushMessageReceiver.java @@ -1,7 +1,6 @@ package eu.siacs.conversations.services; import android.content.Intent; -import androidx.core.content.ContextCompat; import android.util.Log; import com.google.firebase.messaging.FirebaseMessagingService; diff --git a/src/playstoreCompat/java/eu/siacs/conversations/ui/service/EmojiService.java b/src/playstoreCompat/java/eu/siacs/conversations/ui/service/EmojiService.java index 242539543..5ed8c100a 100644 --- a/src/playstoreCompat/java/eu/siacs/conversations/ui/service/EmojiService.java +++ b/src/playstoreCompat/java/eu/siacs/conversations/ui/service/EmojiService.java @@ -2,10 +2,11 @@ package eu.siacs.conversations.ui.service; import android.content.Context; import android.os.Build; +import android.util.Log; + +import androidx.core.provider.FontRequest; import androidx.emoji.text.EmojiCompat; import androidx.emoji.text.FontRequestEmojiCompatConfig; -import androidx.core.provider.FontRequest; -import android.util.Log; import eu.siacs.conversations.Config; import eu.siacs.conversations.R; |