diff --git a/app/src/main/java/org/thoughtcrime/securesms/ApplicationContext.java b/app/src/main/java/org/thoughtcrime/securesms/ApplicationContext.java index 88c6d2f0b5..64bf9cbc39 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/ApplicationContext.java +++ b/app/src/main/java/org/thoughtcrime/securesms/ApplicationContext.java @@ -108,10 +108,11 @@ public class ApplicationContext extends MultiDexApplication implements DefaultLi @Override public void onCreate() { + long startTime = System.currentTimeMillis(); super.onCreate(); - Log.i(TAG, "onCreate()"); initializeSecurityProvider(); initializeLogging(); + Log.i(TAG, "onCreate()"); initializeCrashHandling(); initializeAppDependencies(); initializeFirstEverAppLaunch(); @@ -143,6 +144,7 @@ public class ApplicationContext extends MultiDexApplication implements DefaultLi } ApplicationDependencies.getJobManager().beginJobLoop(); + Log.d(TAG, "onCreate() took " + (System.currentTimeMillis() - startTime) + " ms"); } @Override diff --git a/app/src/main/java/org/thoughtcrime/securesms/ApplicationPreferencesActivity.java b/app/src/main/java/org/thoughtcrime/securesms/ApplicationPreferencesActivity.java index cb06b69794..951d404bad 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/ApplicationPreferencesActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/ApplicationPreferencesActivity.java @@ -53,7 +53,7 @@ import org.thoughtcrime.securesms.util.ThemeUtil; * */ -public class ApplicationPreferencesActivity extends PassphraseRequiredActionBarActivity +public class ApplicationPreferencesActivity extends PassphraseRequiredActivity implements SharedPreferences.OnSharedPreferenceChangeListener { @SuppressWarnings("unused") diff --git a/app/src/main/java/org/thoughtcrime/securesms/AvatarPreviewActivity.java b/app/src/main/java/org/thoughtcrime/securesms/AvatarPreviewActivity.java index db28ae0dee..966da14004 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/AvatarPreviewActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/AvatarPreviewActivity.java @@ -33,7 +33,7 @@ import org.thoughtcrime.securesms.recipients.RecipientId; /** * Activity for displaying avatars full screen. */ -public final class AvatarPreviewActivity extends PassphraseRequiredActionBarActivity { +public final class AvatarPreviewActivity extends PassphraseRequiredActivity { private static final String TAG = Log.tag(AvatarPreviewActivity.class); diff --git a/app/src/main/java/org/thoughtcrime/securesms/BaseActionBarActivity.java b/app/src/main/java/org/thoughtcrime/securesms/BaseActionBarActivity.java deleted file mode 100644 index 3f35d97de8..0000000000 --- a/app/src/main/java/org/thoughtcrime/securesms/BaseActionBarActivity.java +++ /dev/null @@ -1,101 +0,0 @@ -package org.thoughtcrime.securesms; - -import android.annotation.TargetApi; -import android.content.Context; -import android.content.Intent; -import android.os.Build; -import android.os.Build.VERSION_CODES; -import android.os.Bundle; -import androidx.annotation.NonNull; -import androidx.core.app.ActivityCompat; -import androidx.core.app.ActivityOptionsCompat; -import androidx.appcompat.app.AppCompatActivity; -import android.view.KeyEvent; -import android.view.View; -import android.view.ViewConfiguration; -import android.view.WindowManager; - -import org.thoughtcrime.securesms.logging.Log; -import org.thoughtcrime.securesms.util.TextSecurePreferences; -import org.thoughtcrime.securesms.util.dynamiclanguage.DynamicLanguageActivityHelper; -import org.thoughtcrime.securesms.util.dynamiclanguage.DynamicLanguageContextWrapper; - -import java.lang.reflect.Field; - - -public abstract class BaseActionBarActivity extends AppCompatActivity { - private static final String TAG = BaseActionBarActivity.class.getSimpleName(); - - @Override - protected void onCreate(Bundle savedInstanceState) { - if (BaseActivity.isMenuWorkaroundRequired()) { - forceOverflowMenu(); - } - super.onCreate(savedInstanceState); - } - - @Override - protected void onResume() { - super.onResume(); - initializeScreenshotSecurity(); - DynamicLanguageActivityHelper.recreateIfNotInCorrectLanguage(this, TextSecurePreferences.getLanguage(this)); - } - - @Override - public boolean onKeyDown(int keyCode, KeyEvent event) { - return (keyCode == KeyEvent.KEYCODE_MENU && BaseActivity.isMenuWorkaroundRequired()) || super.onKeyDown(keyCode, event); - } - - @Override - public boolean onKeyUp(int keyCode, @NonNull KeyEvent event) { - if (keyCode == KeyEvent.KEYCODE_MENU && BaseActivity.isMenuWorkaroundRequired()) { - openOptionsMenu(); - return true; - } - return super.onKeyUp(keyCode, event); - } - - private void initializeScreenshotSecurity() { - if (TextSecurePreferences.isScreenSecurityEnabled(this)) { - getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE); - } else { - getWindow().clearFlags(WindowManager.LayoutParams.FLAG_SECURE); - } - } - - /** - * Modified from: http://stackoverflow.com/a/13098824 - */ - private void forceOverflowMenu() { - try { - ViewConfiguration config = ViewConfiguration.get(this); - Field menuKeyField = ViewConfiguration.class.getDeclaredField("sHasPermanentMenuKey"); - if(menuKeyField != null) { - menuKeyField.setAccessible(true); - menuKeyField.setBoolean(config, false); - } - } catch (IllegalAccessException e) { - Log.w(TAG, "Failed to force overflow menu."); - } catch (NoSuchFieldException e) { - Log.w(TAG, "Failed to force overflow menu."); - } - } - - protected void startActivitySceneTransition(Intent intent, View sharedView, String transitionName) { - Bundle bundle = ActivityOptionsCompat.makeSceneTransitionAnimation(this, sharedView, transitionName) - .toBundle(); - ActivityCompat.startActivity(this, intent, bundle); - } - - @TargetApi(VERSION_CODES.LOLLIPOP) - protected void setStatusBarColor(int color) { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { - getWindow().setStatusBarColor(color); - } - } - - @Override - protected void attachBaseContext(Context newBase) { - super.attachBaseContext(DynamicLanguageContextWrapper.updateContext(newBase, TextSecurePreferences.getLanguage(newBase))); - } -} diff --git a/app/src/main/java/org/thoughtcrime/securesms/BaseActivity.java b/app/src/main/java/org/thoughtcrime/securesms/BaseActivity.java index 8cb04c572a..4cac62e27d 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/BaseActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/BaseActivity.java @@ -1,46 +1,90 @@ package org.thoughtcrime.securesms; +import android.annotation.TargetApi; import android.content.Context; +import android.content.Intent; import android.os.Build; -import android.os.Build.VERSION; import android.os.Build.VERSION_CODES; -import androidx.annotation.NonNull; -import androidx.fragment.app.FragmentActivity; -import android.view.KeyEvent; +import android.os.Bundle; +import androidx.annotation.NonNull; +import androidx.core.app.ActivityCompat; +import androidx.core.app.ActivityOptionsCompat; +import androidx.appcompat.app.AppCompatActivity; +import android.view.View; +import android.view.WindowManager; + +import org.thoughtcrime.securesms.logging.Log; import org.thoughtcrime.securesms.util.TextSecurePreferences; import org.thoughtcrime.securesms.util.dynamiclanguage.DynamicLanguageActivityHelper; import org.thoughtcrime.securesms.util.dynamiclanguage.DynamicLanguageContextWrapper; -public abstract class BaseActivity extends FragmentActivity { - @Override - public boolean onKeyDown(int keyCode, KeyEvent event) { - return (keyCode == KeyEvent.KEYCODE_MENU && isMenuWorkaroundRequired()) || super.onKeyDown(keyCode, event); - } +/** + * Base class for all activities. The vast majority of activities shouldn't extend this directly. + * Instead, they should extend {@link PassphraseRequiredActivity} so they're protected by + * screen lock. + */ +public abstract class BaseActivity extends AppCompatActivity { + private static final String TAG = Log.tag(BaseActivity.class); @Override - public boolean onKeyUp(int keyCode, @NonNull KeyEvent event) { - if (keyCode == KeyEvent.KEYCODE_MENU && isMenuWorkaroundRequired()) { - openOptionsMenu(); - return true; - } - return super.onKeyUp(keyCode, event); - } - - public static boolean isMenuWorkaroundRequired() { - return VERSION.SDK_INT < VERSION_CODES.KITKAT && - VERSION.SDK_INT > VERSION_CODES.GINGERBREAD_MR1 && - ("LGE".equalsIgnoreCase(Build.MANUFACTURER) || "E6710".equalsIgnoreCase(Build.DEVICE)); + protected void onCreate(Bundle savedInstanceState) { + logEvent("onCreate()"); + super.onCreate(savedInstanceState); } @Override protected void onResume() { super.onResume(); + initializeScreenshotSecurity(); DynamicLanguageActivityHelper.recreateIfNotInCorrectLanguage(this, TextSecurePreferences.getLanguage(this)); } + @Override + protected void onStart() { + logEvent("onStart()"); + super.onStart(); + } + + @Override + protected void onStop() { + logEvent("onStop()"); + super.onStop(); + } + + @Override + protected void onDestroy() { + logEvent("onDestroy()"); + super.onDestroy(); + } + + private void initializeScreenshotSecurity() { + if (TextSecurePreferences.isScreenSecurityEnabled(this)) { + getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE); + } else { + getWindow().clearFlags(WindowManager.LayoutParams.FLAG_SECURE); + } + } + + protected void startActivitySceneTransition(Intent intent, View sharedView, String transitionName) { + Bundle bundle = ActivityOptionsCompat.makeSceneTransitionAnimation(this, sharedView, transitionName) + .toBundle(); + ActivityCompat.startActivity(this, intent, bundle); + } + + @TargetApi(VERSION_CODES.LOLLIPOP) + protected void setStatusBarColor(int color) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + getWindow().setStatusBarColor(color); + } + } + @Override protected void attachBaseContext(Context newBase) { super.attachBaseContext(DynamicLanguageContextWrapper.updateContext(newBase, TextSecurePreferences.getLanguage(newBase))); } + + private void logEvent(@NonNull String event) { + Log.d(TAG, "[" + Log.tag(getClass()) + "] " + event); + } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/BlockedContactsActivity.java b/app/src/main/java/org/thoughtcrime/securesms/BlockedContactsActivity.java index a9e3a37d2d..9468f208fa 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/BlockedContactsActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/BlockedContactsActivity.java @@ -4,7 +4,6 @@ import android.content.Context; import android.database.Cursor; import android.os.Bundle; import android.view.LayoutInflater; -import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; @@ -28,7 +27,7 @@ import org.thoughtcrime.securesms.recipients.RecipientId; import org.thoughtcrime.securesms.recipients.RecipientUtil; import org.thoughtcrime.securesms.util.DynamicTheme; -public class BlockedContactsActivity extends PassphraseRequiredActionBarActivity { +public class BlockedContactsActivity extends PassphraseRequiredActivity { private final DynamicTheme dynamicTheme = new DynamicTheme(); diff --git a/app/src/main/java/org/thoughtcrime/securesms/ContactSelectionActivity.java b/app/src/main/java/org/thoughtcrime/securesms/ContactSelectionActivity.java index ef7932c596..a64b920501 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/ContactSelectionActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/ContactSelectionActivity.java @@ -42,7 +42,7 @@ import java.lang.ref.WeakReference; * @author Moxie Marlinspike * */ -public abstract class ContactSelectionActivity extends PassphraseRequiredActionBarActivity +public abstract class ContactSelectionActivity extends PassphraseRequiredActivity implements SwipeRefreshLayout.OnRefreshListener, ContactSelectionListFragment.OnContactSelectedListener, ContactSelectionListFragment.ScrollCallback diff --git a/app/src/main/java/org/thoughtcrime/securesms/ContactSelectionListFragment.java b/app/src/main/java/org/thoughtcrime/securesms/ContactSelectionListFragment.java index 5d2c0d2c85..1ed081a39d 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/ContactSelectionListFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/ContactSelectionListFragment.java @@ -40,7 +40,6 @@ import androidx.annotation.Nullable; import androidx.appcompat.app.AlertDialog; import androidx.constraintlayout.widget.ConstraintLayout; import androidx.constraintlayout.widget.ConstraintSet; -import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentActivity; import androidx.loader.app.LoaderManager; import androidx.loader.content.Loader; @@ -93,7 +92,7 @@ import java.util.Set; * @author Moxie Marlinspike * */ -public final class ContactSelectionListFragment extends Fragment +public final class ContactSelectionListFragment extends LoggingFragment implements LoaderManager.LoaderCallbacks { @SuppressWarnings("unused") diff --git a/app/src/main/java/org/thoughtcrime/securesms/DatabaseMigrationActivity.java b/app/src/main/java/org/thoughtcrime/securesms/DatabaseMigrationActivity.java index bf1657b2eb..8c5d10c51d 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/DatabaseMigrationActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/DatabaseMigrationActivity.java @@ -21,7 +21,7 @@ import org.thoughtcrime.securesms.database.SmsMigrator.ProgressDescription; import org.thoughtcrime.securesms.service.ApplicationMigrationService; import org.thoughtcrime.securesms.service.ApplicationMigrationService.ImportState; -public class DatabaseMigrationActivity extends PassphraseRequiredActionBarActivity { +public class DatabaseMigrationActivity extends PassphraseRequiredActivity { private final ImportServiceConnection serviceConnection = new ImportServiceConnection(); private final ImportStateHandler importStateHandler = new ImportStateHandler(); diff --git a/app/src/main/java/org/thoughtcrime/securesms/DeviceActivity.java b/app/src/main/java/org/thoughtcrime/securesms/DeviceActivity.java index 52e620c0c7..10d04a5cb1 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/DeviceActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/DeviceActivity.java @@ -23,7 +23,6 @@ import org.thoughtcrime.securesms.crypto.ProfileKeyUtil; import org.thoughtcrime.securesms.dependencies.ApplicationDependencies; import org.thoughtcrime.securesms.logging.Log; import org.thoughtcrime.securesms.permissions.Permissions; -import org.thoughtcrime.securesms.push.AccountManagerFactory; import org.thoughtcrime.securesms.qr.ScanListener; import org.thoughtcrime.securesms.util.Base64; import org.thoughtcrime.securesms.util.DynamicLanguage; @@ -42,7 +41,7 @@ import org.whispersystems.signalservice.internal.push.DeviceLimitExceededExcepti import java.io.IOException; -public class DeviceActivity extends PassphraseRequiredActionBarActivity +public class DeviceActivity extends PassphraseRequiredActivity implements Button.OnClickListener, ScanListener, DeviceLinkFragment.LinkClickedListener { diff --git a/app/src/main/java/org/thoughtcrime/securesms/DeviceAddFragment.java b/app/src/main/java/org/thoughtcrime/securesms/DeviceAddFragment.java index fb4395c12b..8238c08bae 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/DeviceAddFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/DeviceAddFragment.java @@ -6,7 +6,7 @@ import android.content.res.Configuration; import android.os.Build; import android.os.Bundle; import androidx.annotation.NonNull; -import androidx.fragment.app.Fragment; + import android.view.LayoutInflater; import android.view.View; import android.view.ViewAnimationUtils; @@ -20,7 +20,7 @@ import org.thoughtcrime.securesms.qr.ScanListener; import org.thoughtcrime.securesms.qr.ScanningThread; import org.thoughtcrime.securesms.util.ViewUtil; -public class DeviceAddFragment extends Fragment { +public class DeviceAddFragment extends LoggingFragment { private ViewGroup container; private LinearLayout overlay; diff --git a/app/src/main/java/org/thoughtcrime/securesms/DeviceListFragment.java b/app/src/main/java/org/thoughtcrime/securesms/DeviceListFragment.java index afbe70f12b..2ea7aa926f 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/DeviceListFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/DeviceListFragment.java @@ -53,7 +53,7 @@ public class DeviceListFragment extends ListFragment @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - this.locale = (Locale) getArguments().getSerializable(PassphraseRequiredActionBarActivity.LOCALE_EXTRA); + this.locale = (Locale) getArguments().getSerializable(PassphraseRequiredActivity.LOCALE_EXTRA); } @Override diff --git a/app/src/main/java/org/thoughtcrime/securesms/DeviceProvisioningActivity.java b/app/src/main/java/org/thoughtcrime/securesms/DeviceProvisioningActivity.java index 2a1e60321c..2c238ed88d 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/DeviceProvisioningActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/DeviceProvisioningActivity.java @@ -5,7 +5,7 @@ import android.os.Bundle; import androidx.appcompat.app.AlertDialog; import android.view.Window; -public class DeviceProvisioningActivity extends PassphraseRequiredActionBarActivity { +public class DeviceProvisioningActivity extends PassphraseRequiredActivity { @SuppressWarnings("unused") private static final String TAG = DeviceProvisioningActivity.class.getSimpleName(); diff --git a/app/src/main/java/org/thoughtcrime/securesms/InviteActivity.java b/app/src/main/java/org/thoughtcrime/securesms/InviteActivity.java index 15af1ecc16..ef70cdf850 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/InviteActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/InviteActivity.java @@ -43,7 +43,7 @@ import org.whispersystems.libsignal.util.guava.Optional; import java.util.List; import java.util.concurrent.ExecutionException; -public class InviteActivity extends PassphraseRequiredActionBarActivity implements ContactSelectionListFragment.OnContactSelectedListener { +public class InviteActivity extends PassphraseRequiredActivity implements ContactSelectionListFragment.OnContactSelectedListener { private ContactSelectionListFragment contactsFragment; private EditText inviteText; diff --git a/app/src/main/java/org/thoughtcrime/securesms/LoggingFragment.java b/app/src/main/java/org/thoughtcrime/securesms/LoggingFragment.java new file mode 100644 index 0000000000..05cd48d226 --- /dev/null +++ b/app/src/main/java/org/thoughtcrime/securesms/LoggingFragment.java @@ -0,0 +1,45 @@ +package org.thoughtcrime.securesms; + +import android.os.Bundle; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.fragment.app.Fragment; + +import org.thoughtcrime.securesms.logging.Log; + +/** + * Simply logs out lifecycle events. + */ +public abstract class LoggingFragment extends Fragment { + + private static final String TAG = Log.tag(LoggingFragment.class); + + @Override + public void onCreate(@Nullable Bundle savedInstanceState) { + logEvent("onCreate()"); + super.onCreate(savedInstanceState); + } + + @Override + public void onStart() { + logEvent("onStart()"); + super.onStart(); + } + + @Override + public void onStop() { + logEvent("onStop()"); + super.onStop(); + } + + @Override + public void onDestroy() { + logEvent("onDestroy()"); + super.onDestroy(); + } + + private void logEvent(@NonNull String event) { + Log.d(TAG, "[" + Log.tag(getClass()) + "] " + event); + } +} diff --git a/app/src/main/java/org/thoughtcrime/securesms/MainActivity.java b/app/src/main/java/org/thoughtcrime/securesms/MainActivity.java index e156f6133b..0e0d5cd7c1 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/MainActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/MainActivity.java @@ -7,7 +7,7 @@ import androidx.annotation.NonNull; import org.thoughtcrime.securesms.util.DynamicNoActionBarTheme; import org.thoughtcrime.securesms.util.DynamicTheme; -public class MainActivity extends PassphraseRequiredActionBarActivity { +public class MainActivity extends PassphraseRequiredActivity { private final DynamicTheme dynamicTheme = new DynamicNoActionBarTheme(); private final MainNavigator navigator = new MainNavigator(this); diff --git a/app/src/main/java/org/thoughtcrime/securesms/MainFragment.java b/app/src/main/java/org/thoughtcrime/securesms/MainFragment.java index deb6f5b460..fcac543807 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/MainFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/MainFragment.java @@ -3,9 +3,8 @@ package org.thoughtcrime.securesms; import android.content.Context; import androidx.annotation.NonNull; -import androidx.fragment.app.Fragment; -public class MainFragment extends Fragment { +public class MainFragment extends LoggingFragment { @Override public void onAttach(@NonNull Context context) { diff --git a/app/src/main/java/org/thoughtcrime/securesms/MediaPreviewActivity.java b/app/src/main/java/org/thoughtcrime/securesms/MediaPreviewActivity.java index e712db72ac..40b16a3e70 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/MediaPreviewActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/MediaPreviewActivity.java @@ -77,7 +77,7 @@ import java.util.Map; /** * Activity for displaying media attachments in-app */ -public final class MediaPreviewActivity extends PassphraseRequiredActionBarActivity +public final class MediaPreviewActivity extends PassphraseRequiredActivity implements LoaderManager.LoaderCallbacks>, MediaRailAdapter.RailItemListener, MediaPreviewFragment.Events diff --git a/app/src/main/java/org/thoughtcrime/securesms/PassphraseActivity.java b/app/src/main/java/org/thoughtcrime/securesms/PassphraseActivity.java index 318cbf73be..d1fe8ed5d3 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/PassphraseActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/PassphraseActivity.java @@ -32,7 +32,7 @@ import org.thoughtcrime.securesms.service.KeyCachingService; * * @author Moxie Marlinspike */ -public abstract class PassphraseActivity extends BaseActionBarActivity { +public abstract class PassphraseActivity extends BaseActivity { private static final String TAG = PassphraseActivity.class.getSimpleName(); diff --git a/app/src/main/java/org/thoughtcrime/securesms/PassphraseRequiredActionBarActivity.java b/app/src/main/java/org/thoughtcrime/securesms/PassphraseRequiredActivity.java similarity index 91% rename from app/src/main/java/org/thoughtcrime/securesms/PassphraseRequiredActionBarActivity.java rename to app/src/main/java/org/thoughtcrime/securesms/PassphraseRequiredActivity.java index 91f4894acd..d049c3cf51 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/PassphraseRequiredActionBarActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/PassphraseRequiredActivity.java @@ -29,8 +29,8 @@ import org.thoughtcrime.securesms.util.TextSecurePreferences; import java.util.Locale; -public abstract class PassphraseRequiredActionBarActivity extends BaseActionBarActivity implements MasterSecretListener { - private static final String TAG = PassphraseRequiredActionBarActivity.class.getSimpleName(); +public abstract class PassphraseRequiredActivity extends BaseActivity implements MasterSecretListener { + private static final String TAG = PassphraseRequiredActivity.class.getSimpleName(); public static final String LOCALE_EXTRA = "locale_extra"; public static final String NEXT_INTENT_EXTRA = "next_intent"; @@ -49,7 +49,6 @@ public abstract class PassphraseRequiredActionBarActivity extends BaseActionBarA @Override protected final void onCreate(Bundle savedInstanceState) { - Log.d(TAG, "[" + Log.tag(getClass()) + "] onCreate()"); this.networkAccess = new SignalServiceNetworkAccess(this); onPreCreate(); @@ -69,7 +68,6 @@ public abstract class PassphraseRequiredActionBarActivity extends BaseActionBarA @Override protected void onResume() { - Log.d(TAG, "[" + Log.tag(getClass()) + "] onResume()"); super.onResume(); if (networkAccess.isCensored(this)) { @@ -77,27 +75,8 @@ public abstract class PassphraseRequiredActionBarActivity extends BaseActionBarA } } - @Override - protected void onStart() { - Log.d(TAG, "[" + Log.tag(getClass()) + "] onStart()"); - super.onStart(); - } - - @Override - protected void onPause() { - Log.d(TAG, "[" + Log.tag(getClass()) + "] onPause()"); - super.onPause(); - } - - @Override - protected void onStop() { - Log.d(TAG, "[" + Log.tag(getClass()) + "] onStop()"); - super.onStop(); - } - @Override protected void onDestroy() { - Log.d(TAG, "[" + Log.tag(getClass()) + "] onDestroy()"); super.onDestroy(); removeClearKeyReceiver(this); } diff --git a/app/src/main/java/org/thoughtcrime/securesms/PromptMmsActivity.java b/app/src/main/java/org/thoughtcrime/securesms/PromptMmsActivity.java index e2e4f6e96b..c7d400247f 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/PromptMmsActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/PromptMmsActivity.java @@ -6,7 +6,7 @@ import android.widget.Button; import org.thoughtcrime.securesms.preferences.MmsPreferencesActivity; -public class PromptMmsActivity extends PassphraseRequiredActionBarActivity { +public class PromptMmsActivity extends PassphraseRequiredActivity { @Override protected void onCreate(Bundle bundle, boolean ready) { diff --git a/app/src/main/java/org/thoughtcrime/securesms/VerifyIdentityActivity.java b/app/src/main/java/org/thoughtcrime/securesms/VerifyIdentityActivity.java index 209a1f2741..f959d3977e 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/VerifyIdentityActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/VerifyIdentityActivity.java @@ -104,7 +104,7 @@ import static org.whispersystems.libsignal.SessionCipher.SESSION_LOCK; * @author Moxie Marlinspike */ @SuppressLint("StaticFieldLeak") -public class VerifyIdentityActivity extends PassphraseRequiredActionBarActivity implements ScanListener, View.OnClickListener { +public class VerifyIdentityActivity extends PassphraseRequiredActivity implements ScanListener, View.OnClickListener { private static final String TAG = Log.tag(VerifyIdentityActivity.class); diff --git a/app/src/main/java/org/thoughtcrime/securesms/contactshare/ContactNameEditActivity.java b/app/src/main/java/org/thoughtcrime/securesms/contactshare/ContactNameEditActivity.java index 38a26129b1..024f466460 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/contactshare/ContactNameEditActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/contactshare/ContactNameEditActivity.java @@ -8,7 +8,7 @@ import androidx.annotation.NonNull; import androidx.appcompat.widget.Toolbar; import android.widget.TextView; -import org.thoughtcrime.securesms.PassphraseRequiredActionBarActivity; +import org.thoughtcrime.securesms.PassphraseRequiredActivity; import org.thoughtcrime.securesms.R; import org.thoughtcrime.securesms.util.DynamicLanguage; import org.thoughtcrime.securesms.util.DynamicNoActionBarTheme; @@ -16,7 +16,7 @@ import org.thoughtcrime.securesms.util.DynamicTheme; import static org.thoughtcrime.securesms.contactshare.Contact.*; -public class ContactNameEditActivity extends PassphraseRequiredActionBarActivity { +public class ContactNameEditActivity extends PassphraseRequiredActivity { public static final String KEY_NAME = "name"; public static final String KEY_CONTACT_INDEX = "contact_index"; diff --git a/app/src/main/java/org/thoughtcrime/securesms/contactshare/ContactShareEditActivity.java b/app/src/main/java/org/thoughtcrime/securesms/contactshare/ContactShareEditActivity.java index 394074627c..9cb87f2c10 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/contactshare/ContactShareEditActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/contactshare/ContactShareEditActivity.java @@ -14,7 +14,7 @@ import androidx.recyclerview.widget.RecyclerView; import android.view.View; import android.widget.Toast; -import org.thoughtcrime.securesms.PassphraseRequiredActionBarActivity; +import org.thoughtcrime.securesms.PassphraseRequiredActivity; import org.thoughtcrime.securesms.R; import org.thoughtcrime.securesms.database.DatabaseFactory; import org.thoughtcrime.securesms.mms.GlideApp; @@ -27,7 +27,7 @@ import java.util.List; import static org.thoughtcrime.securesms.contactshare.Contact.*; import static org.thoughtcrime.securesms.contactshare.ContactShareEditViewModel.*; -public class ContactShareEditActivity extends PassphraseRequiredActionBarActivity implements ContactShareEditAdapter.EventListener { +public class ContactShareEditActivity extends PassphraseRequiredActivity implements ContactShareEditAdapter.EventListener { public static final String KEY_CONTACTS = "contacts"; private static final String KEY_CONTACT_URIS = "contact_uris"; diff --git a/app/src/main/java/org/thoughtcrime/securesms/contactshare/SharedContactDetailsActivity.java b/app/src/main/java/org/thoughtcrime/securesms/contactshare/SharedContactDetailsActivity.java index 8e0452b126..cbd66dd12d 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/contactshare/SharedContactDetailsActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/contactshare/SharedContactDetailsActivity.java @@ -20,8 +20,7 @@ import android.widget.TextView; import com.bumptech.glide.load.engine.DiskCacheStrategy; -import org.thoughtcrime.securesms.ApplicationContext; -import org.thoughtcrime.securesms.PassphraseRequiredActionBarActivity; +import org.thoughtcrime.securesms.PassphraseRequiredActivity; import org.thoughtcrime.securesms.R; import org.thoughtcrime.securesms.database.RecipientDatabase; import org.thoughtcrime.securesms.dependencies.ApplicationDependencies; @@ -44,7 +43,7 @@ import java.util.Map; import static org.thoughtcrime.securesms.mms.DecryptableStreamUriLoader.*; -public class SharedContactDetailsActivity extends PassphraseRequiredActionBarActivity { +public class SharedContactDetailsActivity extends PassphraseRequiredActivity { private static final int CODE_ADD_EDIT_CONTACT = 2323; private static final String KEY_CONTACT = "contact"; diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationActivity.java b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationActivity.java index 811751f091..8021d5a797 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationActivity.java @@ -85,7 +85,7 @@ import org.thoughtcrime.securesms.ExpirationDialog; import org.thoughtcrime.securesms.GroupMembersDialog; import org.thoughtcrime.securesms.MainActivity; import org.thoughtcrime.securesms.MuteDialog; -import org.thoughtcrime.securesms.PassphraseRequiredActionBarActivity; +import org.thoughtcrime.securesms.PassphraseRequiredActivity; import org.thoughtcrime.securesms.PromptMmsActivity; import org.thoughtcrime.securesms.R; import org.thoughtcrime.securesms.ShortcutLauncherActivity; @@ -262,7 +262,7 @@ import static org.whispersystems.libsignal.SessionCipher.SESSION_LOCK; * */ @SuppressLint("StaticFieldLeak") -public class ConversationActivity extends PassphraseRequiredActionBarActivity +public class ConversationActivity extends PassphraseRequiredActivity implements ConversationFragment.ConversationFragmentListener, AttachmentManager.AttachmentListener, OnKeyboardShownListener, diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationFragment.java b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationFragment.java index 4228803a92..68e543ba67 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationFragment.java @@ -50,7 +50,6 @@ import androidx.appcompat.widget.Toolbar; import androidx.core.app.ActivityCompat; import androidx.core.app.ActivityOptionsCompat; import androidx.core.text.HtmlCompat; -import androidx.fragment.app.Fragment; import androidx.lifecycle.ViewModelProviders; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; @@ -60,7 +59,8 @@ import com.annimon.stream.Stream; import com.google.android.collect.Sets; import org.thoughtcrime.securesms.ApplicationContext; -import org.thoughtcrime.securesms.PassphraseRequiredActionBarActivity; +import org.thoughtcrime.securesms.LoggingFragment; +import org.thoughtcrime.securesms.PassphraseRequiredActivity; import org.thoughtcrime.securesms.R; import org.thoughtcrime.securesms.attachments.Attachment; import org.thoughtcrime.securesms.components.ConversationTypingView; @@ -133,7 +133,7 @@ import java.util.Locale; import java.util.Set; @SuppressLint("StaticFieldLeak") -public class ConversationFragment extends Fragment { +public class ConversationFragment extends LoggingFragment { private static final String TAG = ConversationFragment.class.getSimpleName(); private static final int SCROLL_ANIMATION_THRESHOLD = 50; @@ -177,7 +177,7 @@ public class ConversationFragment extends Fragment { @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); - this.locale = (Locale) getArguments().getSerializable(PassphraseRequiredActionBarActivity.LOCALE_EXTRA); + this.locale = (Locale) getArguments().getSerializable(PassphraseRequiredActivity.LOCALE_EXTRA); } @Override diff --git a/app/src/main/java/org/thoughtcrime/securesms/giph/ui/GiphyActivity.java b/app/src/main/java/org/thoughtcrime/securesms/giph/ui/GiphyActivity.java index 6a8a76ff4e..73b2bac99b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/giph/ui/GiphyActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/giph/ui/GiphyActivity.java @@ -6,7 +6,6 @@ import android.content.Context; import android.content.Intent; import android.net.Uri; import android.os.AsyncTask; -import android.os.Build; import android.os.Bundle; import androidx.annotation.ColorInt; @@ -21,15 +20,13 @@ import androidx.fragment.app.FragmentPagerAdapter; import androidx.viewpager.widget.ViewPager; import org.thoughtcrime.securesms.logging.Log; import android.view.View; -import android.widget.LinearLayout; import android.widget.Toast; -import org.thoughtcrime.securesms.PassphraseRequiredActionBarActivity; +import org.thoughtcrime.securesms.PassphraseRequiredActivity; import org.thoughtcrime.securesms.R; import org.thoughtcrime.securesms.providers.BlobProvider; import org.thoughtcrime.securesms.util.DynamicDarkToolbarTheme; import org.thoughtcrime.securesms.util.DynamicLanguage; -import org.thoughtcrime.securesms.util.DynamicNoActionBarTheme; import org.thoughtcrime.securesms.util.DynamicTheme; import org.thoughtcrime.securesms.util.MediaUtil; import org.thoughtcrime.securesms.util.ViewUtil; @@ -37,7 +34,7 @@ import org.thoughtcrime.securesms.util.ViewUtil; import java.io.IOException; import java.util.concurrent.ExecutionException; -public class GiphyActivity extends PassphraseRequiredActionBarActivity +public class GiphyActivity extends PassphraseRequiredActivity implements GiphyActivityToolbar.OnLayoutChangedListener, GiphyActivityToolbar.OnFilterChangedListener, GiphyAdapter.OnItemClickListener diff --git a/app/src/main/java/org/thoughtcrime/securesms/giph/ui/GiphyFragment.java b/app/src/main/java/org/thoughtcrime/securesms/giph/ui/GiphyFragment.java index 83f3a8bb15..2a7e616d07 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/giph/ui/GiphyFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/giph/ui/GiphyFragment.java @@ -4,7 +4,6 @@ import android.os.AsyncTask; import android.os.Bundle; import androidx.annotation.NonNull; import androidx.annotation.Nullable; -import androidx.fragment.app.Fragment; import androidx.loader.app.LoaderManager; import androidx.loader.content.Loader; import androidx.recyclerview.widget.DefaultItemAnimator; @@ -17,6 +16,7 @@ import android.view.ViewGroup; import android.widget.ProgressBar; import android.widget.TextView; +import org.thoughtcrime.securesms.LoggingFragment; import org.thoughtcrime.securesms.R; import org.thoughtcrime.securesms.giph.model.GiphyImage; import org.thoughtcrime.securesms.giph.net.GiphyLoader; @@ -28,7 +28,7 @@ import org.thoughtcrime.securesms.util.ViewUtil; import java.util.LinkedList; import java.util.List; -public abstract class GiphyFragment extends Fragment implements LoaderManager.LoaderCallbacks>, GiphyAdapter.OnItemClickListener { +public abstract class GiphyFragment extends LoggingFragment implements LoaderManager.LoaderCallbacks>, GiphyAdapter.OnItemClickListener { private static final String TAG = GiphyFragment.class.getSimpleName(); diff --git a/app/src/main/java/org/thoughtcrime/securesms/glide/cache/EncryptedBitmapCacheDecoder.java b/app/src/main/java/org/thoughtcrime/securesms/glide/cache/EncryptedBitmapCacheDecoder.java index 29f7da6975..6f99927a1e 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/glide/cache/EncryptedBitmapCacheDecoder.java +++ b/app/src/main/java/org/thoughtcrime/securesms/glide/cache/EncryptedBitmapCacheDecoder.java @@ -31,8 +31,6 @@ public class EncryptedBitmapCacheDecoder extends EncryptedCoder implements Resou public boolean handles(@NonNull File source, @NonNull Options options) throws IOException { - Log.i(TAG, "Checking item for encrypted Bitmap cache decoder: " + source.toString()); - try (InputStream inputStream = createEncryptedInputStream(secret, source)) { return streamBitmapDecoder.handles(inputStream, options); } catch (IOException e) { @@ -41,12 +39,10 @@ public class EncryptedBitmapCacheDecoder extends EncryptedCoder implements Resou } } - @Nullable @Override - public Resource decode(@NonNull File source, int width, int height, @NonNull Options options) + public @Nullable Resource decode(@NonNull File source, int width, int height, @NonNull Options options) throws IOException { - Log.i(TAG, "Encrypted Bitmap cache decoder running: " + source.toString()); try (InputStream inputStream = createEncryptedInputStream(secret, source)) { return streamBitmapDecoder.decode(inputStream, width, height, options); } diff --git a/app/src/main/java/org/thoughtcrime/securesms/glide/cache/EncryptedGifCacheDecoder.java b/app/src/main/java/org/thoughtcrime/securesms/glide/cache/EncryptedGifCacheDecoder.java index b3bd17ec04..0b320a70e0 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/glide/cache/EncryptedGifCacheDecoder.java +++ b/app/src/main/java/org/thoughtcrime/securesms/glide/cache/EncryptedGifCacheDecoder.java @@ -29,8 +29,6 @@ public class EncryptedGifCacheDecoder extends EncryptedCoder implements Resource @Override public boolean handles(@NonNull File source, @NonNull Options options) { - Log.i(TAG, "Checking item for encrypted GIF cache decoder: " + source.toString()); - try (InputStream inputStream = createEncryptedInputStream(secret, source)) { return gifDecoder.handles(inputStream, options); } catch (IOException e) { @@ -39,9 +37,8 @@ public class EncryptedGifCacheDecoder extends EncryptedCoder implements Resource } } - @Nullable @Override - public Resource decode(@NonNull File source, int width, int height, @NonNull Options options) throws IOException { + public @Nullable Resource decode(@NonNull File source, int width, int height, @NonNull Options options) throws IOException { Log.i(TAG, "Encrypted GIF cache decoder running..."); try (InputStream inputStream = createEncryptedInputStream(secret, source)) { return gifDecoder.decode(inputStream, width, height, options); diff --git a/app/src/main/java/org/thoughtcrime/securesms/groups/ui/creategroup/details/AddGroupDetailsActivity.java b/app/src/main/java/org/thoughtcrime/securesms/groups/ui/creategroup/details/AddGroupDetailsActivity.java index dddb8f62c4..2e448b115d 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/groups/ui/creategroup/details/AddGroupDetailsActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/groups/ui/creategroup/details/AddGroupDetailsActivity.java @@ -10,7 +10,7 @@ import androidx.annotation.Nullable; import androidx.navigation.NavGraph; import androidx.navigation.Navigation; -import org.thoughtcrime.securesms.PassphraseRequiredActionBarActivity; +import org.thoughtcrime.securesms.PassphraseRequiredActivity; import org.thoughtcrime.securesms.R; import org.thoughtcrime.securesms.conversation.ConversationActivity; import org.thoughtcrime.securesms.database.ThreadDatabase; @@ -18,7 +18,7 @@ import org.thoughtcrime.securesms.recipients.RecipientId; import org.thoughtcrime.securesms.util.DynamicNoActionBarTheme; import org.thoughtcrime.securesms.util.DynamicTheme; -public class AddGroupDetailsActivity extends PassphraseRequiredActionBarActivity implements AddGroupDetailsFragment.Callback { +public class AddGroupDetailsActivity extends PassphraseRequiredActivity implements AddGroupDetailsFragment.Callback { private static final String EXTRA_RECIPIENTS = "recipient_ids"; diff --git a/app/src/main/java/org/thoughtcrime/securesms/groups/ui/creategroup/details/AddGroupDetailsFragment.java b/app/src/main/java/org/thoughtcrime/securesms/groups/ui/creategroup/details/AddGroupDetailsFragment.java index 3cd4c45f4f..2ff43ac564 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/groups/ui/creategroup/details/AddGroupDetailsFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/groups/ui/creategroup/details/AddGroupDetailsFragment.java @@ -29,6 +29,7 @@ import com.bumptech.glide.request.target.CustomTarget; import com.bumptech.glide.request.transition.Transition; import com.dd.CircularProgressButton; +import org.thoughtcrime.securesms.LoggingFragment; import org.thoughtcrime.securesms.R; import org.thoughtcrime.securesms.groups.ui.GroupMemberListView; import org.thoughtcrime.securesms.mediasend.AvatarSelectionActivity; @@ -46,7 +47,7 @@ import org.thoughtcrime.securesms.util.text.AfterTextChanged; import java.util.Objects; -public class AddGroupDetailsFragment extends Fragment { +public class AddGroupDetailsFragment extends LoggingFragment { private static final int AVATAR_PLACEHOLDER_INSET_DP = 18; private static final short REQUEST_CODE_AVATAR = 27621; diff --git a/app/src/main/java/org/thoughtcrime/securesms/groups/ui/managegroup/ManageGroupActivity.java b/app/src/main/java/org/thoughtcrime/securesms/groups/ui/managegroup/ManageGroupActivity.java index 4e260367d2..52609d71b9 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/groups/ui/managegroup/ManageGroupActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/groups/ui/managegroup/ManageGroupActivity.java @@ -10,13 +10,13 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.core.app.ActivityOptionsCompat; -import org.thoughtcrime.securesms.PassphraseRequiredActionBarActivity; +import org.thoughtcrime.securesms.PassphraseRequiredActivity; import org.thoughtcrime.securesms.R; import org.thoughtcrime.securesms.groups.GroupId; import org.thoughtcrime.securesms.util.DynamicNoActionBarTheme; import org.thoughtcrime.securesms.util.DynamicTheme; -public class ManageGroupActivity extends PassphraseRequiredActionBarActivity { +public class ManageGroupActivity extends PassphraseRequiredActivity { private static final String GROUP_ID = "GROUP_ID"; diff --git a/app/src/main/java/org/thoughtcrime/securesms/groups/ui/managegroup/ManageGroupFragment.java b/app/src/main/java/org/thoughtcrime/securesms/groups/ui/managegroup/ManageGroupFragment.java index 58ad3ae6a3..404605ed59 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/groups/ui/managegroup/ManageGroupFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/groups/ui/managegroup/ManageGroupFragment.java @@ -16,13 +16,13 @@ import androidx.annotation.Nullable; import androidx.appcompat.widget.SwitchCompat; import androidx.appcompat.widget.Toolbar; import androidx.core.view.ViewCompat; -import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentActivity; import androidx.lifecycle.ViewModelProviders; import com.google.android.material.snackbar.Snackbar; import org.thoughtcrime.securesms.AvatarPreviewActivity; +import org.thoughtcrime.securesms.LoggingFragment; import org.thoughtcrime.securesms.MediaPreviewActivity; import org.thoughtcrime.securesms.MuteDialog; import org.thoughtcrime.securesms.PushContactSelectionActivity; @@ -53,7 +53,7 @@ import java.util.List; import java.util.Locale; import java.util.Objects; -public class ManageGroupFragment extends Fragment { +public class ManageGroupFragment extends LoggingFragment { private static final String GROUP_ID = "GROUP_ID"; private static final String TAG = Log.tag(ManageGroupFragment.class); diff --git a/app/src/main/java/org/thoughtcrime/securesms/groups/ui/pendingmemberinvites/PendingMemberInvitesActivity.java b/app/src/main/java/org/thoughtcrime/securesms/groups/ui/pendingmemberinvites/PendingMemberInvitesActivity.java index 86b991de2a..44ed25876e 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/groups/ui/pendingmemberinvites/PendingMemberInvitesActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/groups/ui/pendingmemberinvites/PendingMemberInvitesActivity.java @@ -7,13 +7,13 @@ import android.os.Bundle; import androidx.annotation.NonNull; import androidx.appcompat.widget.Toolbar; -import org.thoughtcrime.securesms.PassphraseRequiredActionBarActivity; +import org.thoughtcrime.securesms.PassphraseRequiredActivity; import org.thoughtcrime.securesms.R; import org.thoughtcrime.securesms.groups.GroupId; import org.thoughtcrime.securesms.util.DynamicNoActionBarTheme; import org.thoughtcrime.securesms.util.DynamicTheme; -public class PendingMemberInvitesActivity extends PassphraseRequiredActionBarActivity { +public class PendingMemberInvitesActivity extends PassphraseRequiredActivity { private static final String GROUP_ID = "GROUP_ID"; diff --git a/app/src/main/java/org/thoughtcrime/securesms/help/HelpFragment.java b/app/src/main/java/org/thoughtcrime/securesms/help/HelpFragment.java index e51e8f992c..9994dbed0c 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/help/HelpFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/help/HelpFragment.java @@ -1,12 +1,8 @@ package org.thoughtcrime.securesms.help; -import android.content.Context; import android.content.Intent; import android.net.Uri; -import android.os.Build; import android.os.Bundle; -import android.text.SpannableStringBuilder; -import android.text.Spanned; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -18,27 +14,23 @@ import androidx.annotation.IdRes; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.annotation.StringRes; -import androidx.fragment.app.Fragment; import androidx.lifecycle.ViewModelProviders; import com.annimon.stream.Stream; import com.dd.CircularProgressButton; import org.thoughtcrime.securesms.ApplicationPreferencesActivity; -import org.thoughtcrime.securesms.BuildConfig; +import org.thoughtcrime.securesms.LoggingFragment; import org.thoughtcrime.securesms.R; import org.thoughtcrime.securesms.components.emoji.EmojiImageView; -import org.thoughtcrime.securesms.util.AppSignatureUtil; import org.thoughtcrime.securesms.util.CommunicationActions; -import org.thoughtcrime.securesms.util.IntentUtils; import org.thoughtcrime.securesms.util.SupportEmailUtil; import org.thoughtcrime.securesms.util.text.AfterTextChanged; import java.util.ArrayList; import java.util.List; -import java.util.Locale; -public class HelpFragment extends Fragment { +public class HelpFragment extends LoggingFragment { private EditText problem; private CheckBox includeDebugLogs; diff --git a/app/src/main/java/org/thoughtcrime/securesms/lock/v2/BaseKbsPinFragment.java b/app/src/main/java/org/thoughtcrime/securesms/lock/v2/BaseKbsPinFragment.java index b3b070c548..0af0b2409b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/lock/v2/BaseKbsPinFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/lock/v2/BaseKbsPinFragment.java @@ -13,16 +13,16 @@ import android.widget.TextView; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.annotation.StringRes; -import androidx.fragment.app.Fragment; import com.airbnb.lottie.LottieAnimationView; +import org.thoughtcrime.securesms.LoggingFragment; import org.thoughtcrime.securesms.R; import org.thoughtcrime.securesms.util.CommunicationActions; import org.thoughtcrime.securesms.util.text.AfterTextChanged; import org.thoughtcrime.securesms.util.views.LearnMoreTextView; -abstract class BaseKbsPinFragment extends Fragment { +abstract class BaseKbsPinFragment extends LoggingFragment { private TextView title; private LearnMoreTextView description; diff --git a/app/src/main/java/org/thoughtcrime/securesms/lock/v2/CreateKbsPinActivity.java b/app/src/main/java/org/thoughtcrime/securesms/lock/v2/CreateKbsPinActivity.java index 9a5727ea71..d2895fec08 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/lock/v2/CreateKbsPinActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/lock/v2/CreateKbsPinActivity.java @@ -10,14 +10,14 @@ import androidx.annotation.Nullable; import androidx.navigation.NavGraph; import androidx.navigation.Navigation; -import org.thoughtcrime.securesms.BaseActionBarActivity; +import org.thoughtcrime.securesms.BaseActivity; import org.thoughtcrime.securesms.PassphrasePromptActivity; import org.thoughtcrime.securesms.R; import org.thoughtcrime.securesms.service.KeyCachingService; import org.thoughtcrime.securesms.util.DynamicRegistrationTheme; import org.thoughtcrime.securesms.util.DynamicTheme; -public class CreateKbsPinActivity extends BaseActionBarActivity { +public class CreateKbsPinActivity extends BaseActivity { public static final int REQUEST_NEW_PIN = 27698; diff --git a/app/src/main/java/org/thoughtcrime/securesms/lock/v2/KbsMigrationActivity.java b/app/src/main/java/org/thoughtcrime/securesms/lock/v2/KbsMigrationActivity.java index 2b987816ca..07ed8b7ca3 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/lock/v2/KbsMigrationActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/lock/v2/KbsMigrationActivity.java @@ -5,7 +5,7 @@ import android.os.Bundle; import androidx.annotation.Nullable; -import org.thoughtcrime.securesms.BaseActionBarActivity; +import org.thoughtcrime.securesms.BaseActivity; import org.thoughtcrime.securesms.PassphrasePromptActivity; import org.thoughtcrime.securesms.R; import org.thoughtcrime.securesms.dependencies.ApplicationDependencies; @@ -13,7 +13,7 @@ import org.thoughtcrime.securesms.service.KeyCachingService; import org.thoughtcrime.securesms.util.DynamicRegistrationTheme; import org.thoughtcrime.securesms.util.DynamicTheme; -public class KbsMigrationActivity extends BaseActionBarActivity { +public class KbsMigrationActivity extends BaseActivity { public static final int REQUEST_NEW_PIN = CreateKbsPinActivity.REQUEST_NEW_PIN; diff --git a/app/src/main/java/org/thoughtcrime/securesms/logsubmit/SubmitDebugLogActivity.java b/app/src/main/java/org/thoughtcrime/securesms/logsubmit/SubmitDebugLogActivity.java index 79ce275cc7..8577f094ef 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/logsubmit/SubmitDebugLogActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/logsubmit/SubmitDebugLogActivity.java @@ -20,7 +20,7 @@ import androidx.recyclerview.widget.RecyclerView; import com.dd.CircularProgressButton; -import org.thoughtcrime.securesms.BaseActionBarActivity; +import org.thoughtcrime.securesms.BaseActivity; import org.thoughtcrime.securesms.R; import org.thoughtcrime.securesms.util.DynamicTheme; import org.thoughtcrime.securesms.util.ThemeUtil; @@ -30,7 +30,7 @@ import org.thoughtcrime.securesms.util.views.SimpleProgressDialog; import java.util.List; -public class SubmitDebugLogActivity extends BaseActionBarActivity implements SubmitDebugLogAdapter.Listener { +public class SubmitDebugLogActivity extends BaseActivity implements SubmitDebugLogAdapter.Listener { private RecyclerView lineList; private SubmitDebugLogAdapter adapter; diff --git a/app/src/main/java/org/thoughtcrime/securesms/longmessage/LongMessageActivity.java b/app/src/main/java/org/thoughtcrime/securesms/longmessage/LongMessageActivity.java index ea2954ec5f..d946d48a87 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/longmessage/LongMessageActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/longmessage/LongMessageActivity.java @@ -21,7 +21,7 @@ import android.widget.Toast; import com.annimon.stream.Stream; -import org.thoughtcrime.securesms.PassphraseRequiredActionBarActivity; +import org.thoughtcrime.securesms.PassphraseRequiredActivity; import org.thoughtcrime.securesms.R; import org.thoughtcrime.securesms.color.MaterialColor; import org.thoughtcrime.securesms.components.ConversationItemFooter; @@ -34,10 +34,9 @@ import org.thoughtcrime.securesms.util.DynamicLanguage; import org.thoughtcrime.securesms.util.DynamicTheme; import org.thoughtcrime.securesms.util.TextSecurePreferences; import org.thoughtcrime.securesms.util.ThemeUtil; -import org.thoughtcrime.securesms.util.Util; import org.thoughtcrime.securesms.util.views.Stub; -public class LongMessageActivity extends PassphraseRequiredActionBarActivity { +public class LongMessageActivity extends PassphraseRequiredActivity { private static final String KEY_CONVERSATION_RECIPIENT = "recipient_id"; private static final String KEY_MESSAGE_ID = "message_id"; diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediaoverview/MediaOverviewActivity.java b/app/src/main/java/org/thoughtcrime/securesms/mediaoverview/MediaOverviewActivity.java index a9807942eb..30a7dbdb3f 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediaoverview/MediaOverviewActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/mediaoverview/MediaOverviewActivity.java @@ -35,7 +35,7 @@ import androidx.viewpager.widget.ViewPager; import com.google.android.material.tabs.TabLayout; -import org.thoughtcrime.securesms.PassphraseRequiredActionBarActivity; +import org.thoughtcrime.securesms.PassphraseRequiredActivity; import org.thoughtcrime.securesms.R; import org.thoughtcrime.securesms.components.AnimatingToggle; import org.thoughtcrime.securesms.database.DatabaseFactory; @@ -53,7 +53,7 @@ import java.util.List; /** * Activity for displaying media attachments in-app */ -public final class MediaOverviewActivity extends PassphraseRequiredActionBarActivity { +public final class MediaOverviewActivity extends PassphraseRequiredActivity { private static final String THREAD_ID_EXTRA = "thread_id"; diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediasend/Camera1Fragment.java b/app/src/main/java/org/thoughtcrime/securesms/mediasend/Camera1Fragment.java index c0ac69f411..bf7ff1b7e6 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediasend/Camera1Fragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/mediasend/Camera1Fragment.java @@ -26,7 +26,6 @@ import android.widget.TextView; import androidx.annotation.NonNull; import androidx.annotation.Nullable; -import androidx.fragment.app.Fragment; import androidx.lifecycle.ViewModelProviders; import com.bumptech.glide.Glide; @@ -36,6 +35,7 @@ import com.bumptech.glide.load.resource.bitmap.CenterCrop; import com.bumptech.glide.request.target.SimpleTarget; import com.bumptech.glide.request.transition.Transition; +import org.thoughtcrime.securesms.LoggingFragment; import org.thoughtcrime.securesms.R; import org.thoughtcrime.securesms.logging.Log; import org.thoughtcrime.securesms.mms.DecryptableStreamUriLoader.DecryptableUri; @@ -50,9 +50,9 @@ import java.io.ByteArrayOutputStream; /** * Camera capture implemented with the legacy camera API's. Should only be used if sdk < 21. */ -public class Camera1Fragment extends Fragment implements CameraFragment, - TextureView.SurfaceTextureListener, - Camera1Controller.EventListener +public class Camera1Fragment extends LoggingFragment implements CameraFragment, + TextureView.SurfaceTextureListener, + Camera1Controller.EventListener { private static final String TAG = Camera1Fragment.class.getSimpleName(); diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediasend/CameraContactSelectionFragment.java b/app/src/main/java/org/thoughtcrime/securesms/mediasend/CameraContactSelectionFragment.java index 918072e30e..9213e4bf07 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediasend/CameraContactSelectionFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/mediasend/CameraContactSelectionFragment.java @@ -22,12 +22,12 @@ import androidx.lifecycle.ViewModelProviders; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; +import org.thoughtcrime.securesms.LoggingFragment; import org.thoughtcrime.securesms.InviteActivity; import org.thoughtcrime.securesms.R; import org.thoughtcrime.securesms.mms.GlideApp; import org.thoughtcrime.securesms.recipients.Recipient; import org.thoughtcrime.securesms.util.DynamicTheme; -import org.thoughtcrime.securesms.util.TextSecurePreferences; import org.thoughtcrime.securesms.util.ThemeUtil; import java.util.List; @@ -35,7 +35,7 @@ import java.util.List; /** * Fragment that selects Signal contacts. Intended to be used in the camera-first capture flow. */ -public class CameraContactSelectionFragment extends Fragment implements CameraContactAdapter.CameraContactListener { +public class CameraContactSelectionFragment extends LoggingFragment implements CameraContactAdapter.CameraContactListener { private Controller controller; private MediaSendViewModel mediaSendViewModel; diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediasend/CameraXFragment.java b/app/src/main/java/org/thoughtcrime/securesms/mediasend/CameraXFragment.java index e82b7f4e06..f70739b123 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediasend/CameraXFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/mediasend/CameraXFragment.java @@ -27,12 +27,12 @@ import androidx.camera.core.ImageCapture; import androidx.camera.core.ImageCaptureException; import androidx.camera.core.ImageProxy; import androidx.core.content.ContextCompat; -import androidx.fragment.app.Fragment; import androidx.lifecycle.ViewModelProviders; import com.bumptech.glide.Glide; import com.bumptech.glide.util.Executors; +import org.thoughtcrime.securesms.LoggingFragment; import org.thoughtcrime.securesms.R; import org.thoughtcrime.securesms.components.TooltipPopup; import org.thoughtcrime.securesms.logging.Log; @@ -57,7 +57,7 @@ import java.io.IOException; * preferred whenever possible. */ @RequiresApi(21) -public class CameraXFragment extends Fragment implements CameraFragment { +public class CameraXFragment extends LoggingFragment implements CameraFragment { private static final String TAG = Log.tag(CameraXFragment.class); private static final String IS_VIDEO_ENABLED = "is_video_enabled"; diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediasend/MediaSendActivity.java b/app/src/main/java/org/thoughtcrime/securesms/mediasend/MediaSendActivity.java index 4026325771..8ebc4c50bc 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediasend/MediaSendActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/mediasend/MediaSendActivity.java @@ -30,7 +30,7 @@ import androidx.lifecycle.ViewModelProviders; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; -import org.thoughtcrime.securesms.PassphraseRequiredActionBarActivity; +import org.thoughtcrime.securesms.PassphraseRequiredActivity; import org.thoughtcrime.securesms.R; import org.thoughtcrime.securesms.TransportOption; import org.thoughtcrime.securesms.TransportOptions; @@ -84,7 +84,7 @@ import java.util.Map; * This activity is intended to be launched via {@link #startActivityForResult(Intent, int)}. * It will return the {@link Media} that the user decided to send. */ -public class MediaSendActivity extends PassphraseRequiredActionBarActivity implements MediaPickerFolderFragment.Controller, +public class MediaSendActivity extends PassphraseRequiredActivity implements MediaPickerFolderFragment.Controller, MediaPickerItemFragment.Controller, ImageEditorFragment.Controller, MediaSendVideoFragment.Controller, diff --git a/app/src/main/java/org/thoughtcrime/securesms/messagedetails/MessageDetailsActivity.java b/app/src/main/java/org/thoughtcrime/securesms/messagedetails/MessageDetailsActivity.java index edbebd5293..3f763d5ca7 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/messagedetails/MessageDetailsActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/messagedetails/MessageDetailsActivity.java @@ -11,7 +11,7 @@ import androidx.annotation.NonNull; import androidx.lifecycle.ViewModelProviders; import androidx.recyclerview.widget.RecyclerView; -import org.thoughtcrime.securesms.PassphraseRequiredActionBarActivity; +import org.thoughtcrime.securesms.PassphraseRequiredActivity; import org.thoughtcrime.securesms.R; import org.thoughtcrime.securesms.color.MaterialColor; import org.thoughtcrime.securesms.database.MmsSmsDatabase; @@ -28,7 +28,7 @@ import java.util.ArrayList; import java.util.Collection; import java.util.List; -public final class MessageDetailsActivity extends PassphraseRequiredActionBarActivity { +public final class MessageDetailsActivity extends PassphraseRequiredActivity { private static final String MESSAGE_ID_EXTRA = "message_id"; private static final String THREAD_ID_EXTRA = "thread_id"; diff --git a/app/src/main/java/org/thoughtcrime/securesms/messagerequests/MessageRequestMegaphoneActivity.java b/app/src/main/java/org/thoughtcrime/securesms/messagerequests/MessageRequestMegaphoneActivity.java index eb146ae88e..ec29acca6b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/messagerequests/MessageRequestMegaphoneActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/messagerequests/MessageRequestMegaphoneActivity.java @@ -8,7 +8,7 @@ import androidx.annotation.Nullable; import com.airbnb.lottie.LottieAnimationView; -import org.thoughtcrime.securesms.PassphraseRequiredActionBarActivity; +import org.thoughtcrime.securesms.PassphraseRequiredActivity; import org.thoughtcrime.securesms.R; import org.thoughtcrime.securesms.dependencies.ApplicationDependencies; import org.thoughtcrime.securesms.megaphone.Megaphones; @@ -17,9 +17,8 @@ import org.thoughtcrime.securesms.profiles.edit.EditProfileActivity; import org.thoughtcrime.securesms.recipients.Recipient; import org.thoughtcrime.securesms.util.DynamicNoActionBarTheme; import org.thoughtcrime.securesms.util.DynamicTheme; -import org.thoughtcrime.securesms.util.TextSecurePreferences; -public class MessageRequestMegaphoneActivity extends PassphraseRequiredActionBarActivity { +public class MessageRequestMegaphoneActivity extends PassphraseRequiredActivity { public static final short EDIT_PROFILE_REQUEST_CODE = 24563; diff --git a/app/src/main/java/org/thoughtcrime/securesms/pin/PinRestoreActivity.java b/app/src/main/java/org/thoughtcrime/securesms/pin/PinRestoreActivity.java index 6ca6334fbe..891daeebec 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/pin/PinRestoreActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/pin/PinRestoreActivity.java @@ -7,7 +7,7 @@ import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; import org.thoughtcrime.securesms.MainActivity; -import org.thoughtcrime.securesms.PassphraseRequiredActionBarActivity; +import org.thoughtcrime.securesms.PassphraseRequiredActivity; import org.thoughtcrime.securesms.R; import org.thoughtcrime.securesms.lock.v2.CreateKbsPinActivity; @@ -22,7 +22,7 @@ public final class PinRestoreActivity extends AppCompatActivity { void navigateToPinCreation() { final Intent main = new Intent(this, MainActivity.class); final Intent createPin = CreateKbsPinActivity.getIntentForPinCreate(this); - final Intent chained = PassphraseRequiredActionBarActivity.chainIntent(createPin, main); + final Intent chained = PassphraseRequiredActivity.chainIntent(createPin, main); startActivity(chained); } diff --git a/app/src/main/java/org/thoughtcrime/securesms/pin/PinRestoreEntryFragment.java b/app/src/main/java/org/thoughtcrime/securesms/pin/PinRestoreEntryFragment.java index b30939a78e..890848a3b5 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/pin/PinRestoreEntryFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/pin/PinRestoreEntryFragment.java @@ -25,6 +25,7 @@ import androidx.navigation.Navigation; import com.dd.CircularProgressButton; +import org.thoughtcrime.securesms.LoggingFragment; import org.thoughtcrime.securesms.MainActivity; import org.thoughtcrime.securesms.R; import org.thoughtcrime.securesms.dependencies.ApplicationDependencies; @@ -41,7 +42,7 @@ import org.thoughtcrime.securesms.util.ServiceUtil; import org.thoughtcrime.securesms.util.SupportEmailUtil; import org.thoughtcrime.securesms.util.ViewUtil; -public class PinRestoreEntryFragment extends Fragment { +public class PinRestoreEntryFragment extends LoggingFragment { private static final String TAG = Log.tag(PinRestoreActivity.class); private static final int MINIMUM_PIN_LENGTH = 4; diff --git a/app/src/main/java/org/thoughtcrime/securesms/pin/PinRestoreLockedFragment.java b/app/src/main/java/org/thoughtcrime/securesms/pin/PinRestoreLockedFragment.java index e4c8c83c61..6bfd1245a7 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/pin/PinRestoreLockedFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/pin/PinRestoreLockedFragment.java @@ -9,10 +9,11 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.fragment.app.Fragment; +import org.thoughtcrime.securesms.LoggingFragment; import org.thoughtcrime.securesms.R; import org.thoughtcrime.securesms.util.CommunicationActions; -public class PinRestoreLockedFragment extends Fragment { +public class PinRestoreLockedFragment extends LoggingFragment { @Override public @Nullable View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { diff --git a/app/src/main/java/org/thoughtcrime/securesms/preferences/MmsPreferencesActivity.java b/app/src/main/java/org/thoughtcrime/securesms/preferences/MmsPreferencesActivity.java index d0e4d944e4..3e21e5e015 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/preferences/MmsPreferencesActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/preferences/MmsPreferencesActivity.java @@ -22,11 +22,11 @@ import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentTransaction; import android.view.MenuItem; -import org.thoughtcrime.securesms.PassphraseRequiredActionBarActivity; +import org.thoughtcrime.securesms.PassphraseRequiredActivity; import org.thoughtcrime.securesms.util.DynamicLanguage; import org.thoughtcrime.securesms.util.DynamicTheme; -public class MmsPreferencesActivity extends PassphraseRequiredActionBarActivity { +public class MmsPreferencesActivity extends PassphraseRequiredActivity { private final DynamicTheme dynamicTheme = new DynamicTheme(); private final DynamicLanguage dynamicLanguage = new DynamicLanguage(); diff --git a/app/src/main/java/org/thoughtcrime/securesms/preferences/MmsPreferencesFragment.java b/app/src/main/java/org/thoughtcrime/securesms/preferences/MmsPreferencesFragment.java index bf42bc01fd..a516bbe09d 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/preferences/MmsPreferencesFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/preferences/MmsPreferencesFragment.java @@ -21,7 +21,7 @@ import android.os.AsyncTask; import android.os.Bundle; import androidx.annotation.Nullable; -import org.thoughtcrime.securesms.PassphraseRequiredActionBarActivity; +import org.thoughtcrime.securesms.PassphraseRequiredActivity; import org.thoughtcrime.securesms.R; import org.thoughtcrime.securesms.components.CustomDefaultPreference; import org.thoughtcrime.securesms.database.ApnDatabase; @@ -41,8 +41,8 @@ public class MmsPreferencesFragment extends CorrectedPreferenceFragment { public void onCreate(Bundle paramBundle) { super.onCreate(paramBundle); - ((PassphraseRequiredActionBarActivity) getActivity()).getSupportActionBar() - .setTitle(R.string.preferences__advanced_mms_access_point_names); + ((PassphraseRequiredActivity) getActivity()).getSupportActionBar() + .setTitle(R.string.preferences__advanced_mms_access_point_names); } @Override diff --git a/app/src/main/java/org/thoughtcrime/securesms/profiles/edit/EditProfileActivity.java b/app/src/main/java/org/thoughtcrime/securesms/profiles/edit/EditProfileActivity.java index 2cf878eae5..afa280e88d 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/profiles/edit/EditProfileActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/profiles/edit/EditProfileActivity.java @@ -10,14 +10,14 @@ import androidx.annotation.NonNull; import androidx.navigation.NavGraph; import androidx.navigation.Navigation; -import org.thoughtcrime.securesms.BaseActionBarActivity; +import org.thoughtcrime.securesms.BaseActivity; import org.thoughtcrime.securesms.R; import org.thoughtcrime.securesms.groups.GroupId; import org.thoughtcrime.securesms.util.DynamicRegistrationTheme; import org.thoughtcrime.securesms.util.DynamicTheme; @SuppressLint("StaticFieldLeak") -public class EditProfileActivity extends BaseActionBarActivity implements EditProfileFragment.Controller { +public class EditProfileActivity extends BaseActivity implements EditProfileFragment.Controller { public static final String NEXT_INTENT = "next_intent"; public static final String EXCLUDE_SYSTEM = "exclude_system"; diff --git a/app/src/main/java/org/thoughtcrime/securesms/profiles/edit/EditProfileFragment.java b/app/src/main/java/org/thoughtcrime/securesms/profiles/edit/EditProfileFragment.java index ca2402b676..33f3479f60 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/profiles/edit/EditProfileFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/profiles/edit/EditProfileFragment.java @@ -11,7 +11,6 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewAnimationUtils; import android.view.ViewGroup; -import android.view.WindowManager; import android.widget.EditText; import android.widget.ImageView; import android.widget.TextView; @@ -22,7 +21,6 @@ import androidx.annotation.Nullable; import androidx.annotation.RequiresApi; import androidx.annotation.StringRes; import androidx.appcompat.widget.Toolbar; -import androidx.fragment.app.Fragment; import androidx.lifecycle.ViewModelProviders; import androidx.navigation.NavDirections; import androidx.navigation.Navigation; @@ -31,6 +29,7 @@ import com.bumptech.glide.load.engine.DiskCacheStrategy; import com.dd.CircularProgressButton; import com.google.android.gms.common.util.IOUtils; +import org.thoughtcrime.securesms.LoggingFragment; import org.thoughtcrime.securesms.R; import org.thoughtcrime.securesms.contacts.avatars.ResourceContactPhoto; import org.thoughtcrime.securesms.dependencies.ApplicationDependencies; @@ -64,7 +63,7 @@ import static org.thoughtcrime.securesms.profiles.edit.EditProfileActivity.NEXT_ import static org.thoughtcrime.securesms.profiles.edit.EditProfileActivity.NEXT_INTENT; import static org.thoughtcrime.securesms.profiles.edit.EditProfileActivity.SHOW_TOOLBAR; -public class EditProfileFragment extends Fragment { +public class EditProfileFragment extends LoggingFragment { private static final String TAG = Log.tag(EditProfileFragment.class); private static final String AVATAR_STATE = "avatar"; diff --git a/app/src/main/java/org/thoughtcrime/securesms/recipients/ui/managerecipient/ManageRecipientActivity.java b/app/src/main/java/org/thoughtcrime/securesms/recipients/ui/managerecipient/ManageRecipientActivity.java index cf42c785ef..34e7a0187f 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/recipients/ui/managerecipient/ManageRecipientActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/recipients/ui/managerecipient/ManageRecipientActivity.java @@ -10,13 +10,13 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.core.app.ActivityOptionsCompat; -import org.thoughtcrime.securesms.PassphraseRequiredActionBarActivity; +import org.thoughtcrime.securesms.PassphraseRequiredActivity; import org.thoughtcrime.securesms.R; import org.thoughtcrime.securesms.recipients.RecipientId; import org.thoughtcrime.securesms.util.DynamicNoActionBarTheme; import org.thoughtcrime.securesms.util.DynamicTheme; -public class ManageRecipientActivity extends PassphraseRequiredActionBarActivity { +public class ManageRecipientActivity extends PassphraseRequiredActivity { private static final String RECIPIENT_ID = "RECIPIENT_ID"; private static final String FROM_CONVERSATION = "FROM_CONVERSATION"; diff --git a/app/src/main/java/org/thoughtcrime/securesms/recipients/ui/managerecipient/ManageRecipientFragment.java b/app/src/main/java/org/thoughtcrime/securesms/recipients/ui/managerecipient/ManageRecipientFragment.java index c31a6ea2ee..de04e33afd 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/recipients/ui/managerecipient/ManageRecipientFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/recipients/ui/managerecipient/ManageRecipientFragment.java @@ -21,7 +21,6 @@ import androidx.appcompat.widget.SwitchCompat; import androidx.appcompat.widget.Toolbar; import androidx.core.content.ContextCompat; import androidx.core.view.ViewCompat; -import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentActivity; import androidx.lifecycle.ViewModelProviders; @@ -29,6 +28,7 @@ import com.takisoft.colorpicker.ColorPickerDialog; import com.takisoft.colorpicker.ColorStateDrawable; import org.thoughtcrime.securesms.AvatarPreviewActivity; +import org.thoughtcrime.securesms.LoggingFragment; import org.thoughtcrime.securesms.MediaPreviewActivity; import org.thoughtcrime.securesms.MuteDialog; import org.thoughtcrime.securesms.R; @@ -54,7 +54,7 @@ import org.thoughtcrime.securesms.util.Util; import java.util.Locale; import java.util.Objects; -public class ManageRecipientFragment extends Fragment { +public class ManageRecipientFragment extends LoggingFragment { private static final String RECIPIENT_ID = "RECIPIENT_ID"; private static final String FROM_CONVERSATION = "FROM_CONVERSATION"; diff --git a/app/src/main/java/org/thoughtcrime/securesms/registration/fragments/BaseRegistrationFragment.java b/app/src/main/java/org/thoughtcrime/securesms/registration/fragments/BaseRegistrationFragment.java index 7ebc2d0df3..04544fdc67 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/registration/fragments/BaseRegistrationFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/registration/fragments/BaseRegistrationFragment.java @@ -10,20 +10,20 @@ import android.widget.Toast; import androidx.annotation.NonNull; import androidx.annotation.Nullable; -import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentActivity; import androidx.lifecycle.SavedStateViewModelFactory; import androidx.lifecycle.ViewModelProviders; import com.dd.CircularProgressButton; +import org.thoughtcrime.securesms.LoggingFragment; import org.thoughtcrime.securesms.R; import org.thoughtcrime.securesms.logsubmit.SubmitDebugLogActivity; import org.thoughtcrime.securesms.registration.viewmodel.RegistrationViewModel; import static org.thoughtcrime.securesms.registration.RegistrationNavigationActivity.RE_REGISTRATION_EXTRA; -abstract class BaseRegistrationFragment extends Fragment { +abstract class BaseRegistrationFragment extends LoggingFragment { private RegistrationViewModel model; diff --git a/app/src/main/java/org/thoughtcrime/securesms/revealable/ViewOnceMessageActivity.java b/app/src/main/java/org/thoughtcrime/securesms/revealable/ViewOnceMessageActivity.java index 7d71b26234..d1ffd24fc1 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/revealable/ViewOnceMessageActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/revealable/ViewOnceMessageActivity.java @@ -15,7 +15,7 @@ import android.widget.TextView; import androidx.annotation.NonNull; import androidx.lifecycle.ViewModelProviders; -import org.thoughtcrime.securesms.PassphraseRequiredActionBarActivity; +import org.thoughtcrime.securesms.PassphraseRequiredActivity; import org.thoughtcrime.securesms.R; import org.thoughtcrime.securesms.logging.Log; import org.thoughtcrime.securesms.mms.DecryptableStreamUriLoader.DecryptableUri; @@ -24,12 +24,11 @@ import org.thoughtcrime.securesms.mms.PartAuthority; import org.thoughtcrime.securesms.mms.VideoSlide; import org.thoughtcrime.securesms.providers.BlobProvider; import org.thoughtcrime.securesms.util.MediaUtil; -import org.thoughtcrime.securesms.util.ViewUtil; import org.thoughtcrime.securesms.video.VideoPlayer; import java.util.concurrent.TimeUnit; -public class ViewOnceMessageActivity extends PassphraseRequiredActionBarActivity implements VideoPlayer.PlayerStateCallback { +public class ViewOnceMessageActivity extends PassphraseRequiredActivity implements VideoPlayer.PlayerStateCallback { private static final String TAG = Log.tag(ViewOnceMessageActivity.class); diff --git a/app/src/main/java/org/thoughtcrime/securesms/sharing/ShareActivity.java b/app/src/main/java/org/thoughtcrime/securesms/sharing/ShareActivity.java index 3c8b510cea..12524d65af 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/sharing/ShareActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/sharing/ShareActivity.java @@ -24,7 +24,6 @@ import android.os.Bundle; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.app.AlertDialog; -import androidx.fragment.app.DialogFragment; import androidx.lifecycle.ViewModelProviders; import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; import androidx.appcompat.app.ActionBar; @@ -35,7 +34,7 @@ import android.widget.ImageView; import android.widget.Toast; import org.thoughtcrime.securesms.ContactSelectionListFragment; -import org.thoughtcrime.securesms.PassphraseRequiredActionBarActivity; +import org.thoughtcrime.securesms.PassphraseRequiredActivity; import org.thoughtcrime.securesms.R; import org.thoughtcrime.securesms.components.SearchToolbar; import org.thoughtcrime.securesms.contacts.ContactsCursorLoader.DisplayMode; @@ -51,7 +50,6 @@ import org.thoughtcrime.securesms.util.DynamicLanguage; import org.thoughtcrime.securesms.util.DynamicNoActionBarTheme; import org.thoughtcrime.securesms.util.DynamicTheme; import org.thoughtcrime.securesms.util.TextSecurePreferences; -import org.thoughtcrime.securesms.util.ViewUtil; import org.thoughtcrime.securesms.util.concurrent.SimpleTask; import org.thoughtcrime.securesms.util.views.SimpleProgressDialog; import org.whispersystems.libsignal.util.Pair; @@ -67,7 +65,7 @@ import java.util.concurrent.atomic.AtomicReference; * Handles contact selection when necessary, but also serves as an entry point for when the contact * is known (such as choosing someone in a direct share). */ -public class ShareActivity extends PassphraseRequiredActionBarActivity +public class ShareActivity extends PassphraseRequiredActivity implements ContactSelectionListFragment.OnContactSelectedListener, SwipeRefreshLayout.OnRefreshListener { private static final String TAG = ShareActivity.class.getSimpleName(); diff --git a/app/src/main/java/org/thoughtcrime/securesms/stickers/StickerManagementActivity.java b/app/src/main/java/org/thoughtcrime/securesms/stickers/StickerManagementActivity.java index 30a8b3cbd4..b9825a50b5 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/stickers/StickerManagementActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/stickers/StickerManagementActivity.java @@ -10,7 +10,7 @@ import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; import android.view.MenuItem; -import org.thoughtcrime.securesms.PassphraseRequiredActionBarActivity; +import org.thoughtcrime.securesms.PassphraseRequiredActivity; import org.thoughtcrime.securesms.R; import org.thoughtcrime.securesms.sharing.ShareActivity; import org.thoughtcrime.securesms.mms.GlideApp; @@ -19,7 +19,7 @@ import org.thoughtcrime.securesms.util.DynamicTheme; /** * Allows the user to view and manage (install, uninstall, etc) their stickers. */ -public final class StickerManagementActivity extends PassphraseRequiredActionBarActivity implements StickerManagementAdapter.EventListener { +public final class StickerManagementActivity extends PassphraseRequiredActivity implements StickerManagementAdapter.EventListener { private final DynamicTheme dynamicTheme = new DynamicTheme(); diff --git a/app/src/main/java/org/thoughtcrime/securesms/stickers/StickerPackPreviewActivity.java b/app/src/main/java/org/thoughtcrime/securesms/stickers/StickerPackPreviewActivity.java index f7ee2a9b1d..4ebb52640b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/stickers/StickerPackPreviewActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/stickers/StickerPackPreviewActivity.java @@ -17,7 +17,7 @@ import android.widget.Toast; import com.bumptech.glide.load.resource.drawable.DrawableTransitionOptions; -import org.thoughtcrime.securesms.PassphraseRequiredActionBarActivity; +import org.thoughtcrime.securesms.PassphraseRequiredActivity; import org.thoughtcrime.securesms.R; import org.thoughtcrime.securesms.sharing.ShareActivity; import org.thoughtcrime.securesms.logging.Log; @@ -33,7 +33,7 @@ import org.whispersystems.libsignal.util.guava.Optional; * Shows the contents of a pack and allows the user to install it (if not installed) or remove it * (if installed). This is also the handler for sticker pack deep links. */ -public final class StickerPackPreviewActivity extends PassphraseRequiredActionBarActivity +public final class StickerPackPreviewActivity extends PassphraseRequiredActivity implements StickerRolloverTouchListener.RolloverEventListener, StickerRolloverTouchListener.RolloverStickerRetriever, StickerPackPreviewAdapter.EventListener diff --git a/app/src/main/java/org/thoughtcrime/securesms/usernames/username/UsernameEditFragment.java b/app/src/main/java/org/thoughtcrime/securesms/usernames/username/UsernameEditFragment.java index ae26e999eb..9f66831e7f 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/usernames/username/UsernameEditFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/usernames/username/UsernameEditFragment.java @@ -17,12 +17,13 @@ import androidx.navigation.fragment.NavHostFragment; import com.dd.CircularProgressButton; +import org.thoughtcrime.securesms.LoggingFragment; import org.thoughtcrime.securesms.R; import org.thoughtcrime.securesms.contactshare.SimpleTextWatcher; import org.thoughtcrime.securesms.util.TextSecurePreferences; import org.thoughtcrime.securesms.util.UsernameUtil; -public class UsernameEditFragment extends Fragment { +public class UsernameEditFragment extends LoggingFragment { private static final float DISABLED_ALPHA = 0.5f;