mirror of
https://github.com/oxen-io/session-android.git
synced 2025-06-09 02:18:34 +00:00
Various logging improvements.
* Improve lifecycle logging. * Remove 'action bar' from base activity names. * Remove some unnecessary glide logs.
This commit is contained in:
parent
dac6b5c992
commit
bf919207ed
@ -108,10 +108,11 @@ public class ApplicationContext extends MultiDexApplication implements DefaultLi
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCreate() {
|
public void onCreate() {
|
||||||
|
long startTime = System.currentTimeMillis();
|
||||||
super.onCreate();
|
super.onCreate();
|
||||||
Log.i(TAG, "onCreate()");
|
|
||||||
initializeSecurityProvider();
|
initializeSecurityProvider();
|
||||||
initializeLogging();
|
initializeLogging();
|
||||||
|
Log.i(TAG, "onCreate()");
|
||||||
initializeCrashHandling();
|
initializeCrashHandling();
|
||||||
initializeAppDependencies();
|
initializeAppDependencies();
|
||||||
initializeFirstEverAppLaunch();
|
initializeFirstEverAppLaunch();
|
||||||
@ -143,6 +144,7 @@ public class ApplicationContext extends MultiDexApplication implements DefaultLi
|
|||||||
}
|
}
|
||||||
|
|
||||||
ApplicationDependencies.getJobManager().beginJobLoop();
|
ApplicationDependencies.getJobManager().beginJobLoop();
|
||||||
|
Log.d(TAG, "onCreate() took " + (System.currentTimeMillis() - startTime) + " ms");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -53,7 +53,7 @@ import org.thoughtcrime.securesms.util.ThemeUtil;
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public class ApplicationPreferencesActivity extends PassphraseRequiredActionBarActivity
|
public class ApplicationPreferencesActivity extends PassphraseRequiredActivity
|
||||||
implements SharedPreferences.OnSharedPreferenceChangeListener
|
implements SharedPreferences.OnSharedPreferenceChangeListener
|
||||||
{
|
{
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
|
@ -33,7 +33,7 @@ import org.thoughtcrime.securesms.recipients.RecipientId;
|
|||||||
/**
|
/**
|
||||||
* Activity for displaying avatars full screen.
|
* 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);
|
private static final String TAG = Log.tag(AvatarPreviewActivity.class);
|
||||||
|
|
||||||
|
@ -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)));
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,46 +1,90 @@
|
|||||||
package org.thoughtcrime.securesms;
|
package org.thoughtcrime.securesms;
|
||||||
|
|
||||||
|
import android.annotation.TargetApi;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
import android.content.Intent;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.os.Build.VERSION;
|
|
||||||
import android.os.Build.VERSION_CODES;
|
import android.os.Build.VERSION_CODES;
|
||||||
import androidx.annotation.NonNull;
|
import android.os.Bundle;
|
||||||
import androidx.fragment.app.FragmentActivity;
|
|
||||||
import android.view.KeyEvent;
|
|
||||||
|
|
||||||
|
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.TextSecurePreferences;
|
||||||
import org.thoughtcrime.securesms.util.dynamiclanguage.DynamicLanguageActivityHelper;
|
import org.thoughtcrime.securesms.util.dynamiclanguage.DynamicLanguageActivityHelper;
|
||||||
import org.thoughtcrime.securesms.util.dynamiclanguage.DynamicLanguageContextWrapper;
|
import org.thoughtcrime.securesms.util.dynamiclanguage.DynamicLanguageContextWrapper;
|
||||||
|
|
||||||
public abstract class BaseActivity extends FragmentActivity {
|
/**
|
||||||
@Override
|
* Base class for all activities. The vast majority of activities shouldn't extend this directly.
|
||||||
public boolean onKeyDown(int keyCode, KeyEvent event) {
|
* Instead, they should extend {@link PassphraseRequiredActivity} so they're protected by
|
||||||
return (keyCode == KeyEvent.KEYCODE_MENU && isMenuWorkaroundRequired()) || super.onKeyDown(keyCode, event);
|
* screen lock.
|
||||||
}
|
*/
|
||||||
|
public abstract class BaseActivity extends AppCompatActivity {
|
||||||
|
private static final String TAG = Log.tag(BaseActivity.class);
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onKeyUp(int keyCode, @NonNull KeyEvent event) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
if (keyCode == KeyEvent.KEYCODE_MENU && isMenuWorkaroundRequired()) {
|
logEvent("onCreate()");
|
||||||
openOptionsMenu();
|
super.onCreate(savedInstanceState);
|
||||||
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));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onResume() {
|
protected void onResume() {
|
||||||
super.onResume();
|
super.onResume();
|
||||||
|
initializeScreenshotSecurity();
|
||||||
DynamicLanguageActivityHelper.recreateIfNotInCorrectLanguage(this, TextSecurePreferences.getLanguage(this));
|
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
|
@Override
|
||||||
protected void attachBaseContext(Context newBase) {
|
protected void attachBaseContext(Context newBase) {
|
||||||
super.attachBaseContext(DynamicLanguageContextWrapper.updateContext(newBase, TextSecurePreferences.getLanguage(newBase)));
|
super.attachBaseContext(DynamicLanguageContextWrapper.updateContext(newBase, TextSecurePreferences.getLanguage(newBase)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void logEvent(@NonNull String event) {
|
||||||
|
Log.d(TAG, "[" + Log.tag(getClass()) + "] " + event);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -4,7 +4,6 @@ import android.content.Context;
|
|||||||
import android.database.Cursor;
|
import android.database.Cursor;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.MenuItem;
|
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
import android.widget.AdapterView;
|
import android.widget.AdapterView;
|
||||||
@ -28,7 +27,7 @@ import org.thoughtcrime.securesms.recipients.RecipientId;
|
|||||||
import org.thoughtcrime.securesms.recipients.RecipientUtil;
|
import org.thoughtcrime.securesms.recipients.RecipientUtil;
|
||||||
import org.thoughtcrime.securesms.util.DynamicTheme;
|
import org.thoughtcrime.securesms.util.DynamicTheme;
|
||||||
|
|
||||||
public class BlockedContactsActivity extends PassphraseRequiredActionBarActivity {
|
public class BlockedContactsActivity extends PassphraseRequiredActivity {
|
||||||
|
|
||||||
private final DynamicTheme dynamicTheme = new DynamicTheme();
|
private final DynamicTheme dynamicTheme = new DynamicTheme();
|
||||||
|
|
||||||
|
@ -42,7 +42,7 @@ import java.lang.ref.WeakReference;
|
|||||||
* @author Moxie Marlinspike
|
* @author Moxie Marlinspike
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public abstract class ContactSelectionActivity extends PassphraseRequiredActionBarActivity
|
public abstract class ContactSelectionActivity extends PassphraseRequiredActivity
|
||||||
implements SwipeRefreshLayout.OnRefreshListener,
|
implements SwipeRefreshLayout.OnRefreshListener,
|
||||||
ContactSelectionListFragment.OnContactSelectedListener,
|
ContactSelectionListFragment.OnContactSelectedListener,
|
||||||
ContactSelectionListFragment.ScrollCallback
|
ContactSelectionListFragment.ScrollCallback
|
||||||
|
@ -40,7 +40,6 @@ import androidx.annotation.Nullable;
|
|||||||
import androidx.appcompat.app.AlertDialog;
|
import androidx.appcompat.app.AlertDialog;
|
||||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||||
import androidx.constraintlayout.widget.ConstraintSet;
|
import androidx.constraintlayout.widget.ConstraintSet;
|
||||||
import androidx.fragment.app.Fragment;
|
|
||||||
import androidx.fragment.app.FragmentActivity;
|
import androidx.fragment.app.FragmentActivity;
|
||||||
import androidx.loader.app.LoaderManager;
|
import androidx.loader.app.LoaderManager;
|
||||||
import androidx.loader.content.Loader;
|
import androidx.loader.content.Loader;
|
||||||
@ -93,7 +92,7 @@ import java.util.Set;
|
|||||||
* @author Moxie Marlinspike
|
* @author Moxie Marlinspike
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public final class ContactSelectionListFragment extends Fragment
|
public final class ContactSelectionListFragment extends LoggingFragment
|
||||||
implements LoaderManager.LoaderCallbacks<Cursor>
|
implements LoaderManager.LoaderCallbacks<Cursor>
|
||||||
{
|
{
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
|
@ -21,7 +21,7 @@ import org.thoughtcrime.securesms.database.SmsMigrator.ProgressDescription;
|
|||||||
import org.thoughtcrime.securesms.service.ApplicationMigrationService;
|
import org.thoughtcrime.securesms.service.ApplicationMigrationService;
|
||||||
import org.thoughtcrime.securesms.service.ApplicationMigrationService.ImportState;
|
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 ImportServiceConnection serviceConnection = new ImportServiceConnection();
|
||||||
private final ImportStateHandler importStateHandler = new ImportStateHandler();
|
private final ImportStateHandler importStateHandler = new ImportStateHandler();
|
||||||
|
@ -23,7 +23,6 @@ import org.thoughtcrime.securesms.crypto.ProfileKeyUtil;
|
|||||||
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
|
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
|
||||||
import org.thoughtcrime.securesms.logging.Log;
|
import org.thoughtcrime.securesms.logging.Log;
|
||||||
import org.thoughtcrime.securesms.permissions.Permissions;
|
import org.thoughtcrime.securesms.permissions.Permissions;
|
||||||
import org.thoughtcrime.securesms.push.AccountManagerFactory;
|
|
||||||
import org.thoughtcrime.securesms.qr.ScanListener;
|
import org.thoughtcrime.securesms.qr.ScanListener;
|
||||||
import org.thoughtcrime.securesms.util.Base64;
|
import org.thoughtcrime.securesms.util.Base64;
|
||||||
import org.thoughtcrime.securesms.util.DynamicLanguage;
|
import org.thoughtcrime.securesms.util.DynamicLanguage;
|
||||||
@ -42,7 +41,7 @@ import org.whispersystems.signalservice.internal.push.DeviceLimitExceededExcepti
|
|||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
public class DeviceActivity extends PassphraseRequiredActionBarActivity
|
public class DeviceActivity extends PassphraseRequiredActivity
|
||||||
implements Button.OnClickListener, ScanListener, DeviceLinkFragment.LinkClickedListener
|
implements Button.OnClickListener, ScanListener, DeviceLinkFragment.LinkClickedListener
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -6,7 +6,7 @@ import android.content.res.Configuration;
|
|||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.fragment.app.Fragment;
|
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewAnimationUtils;
|
import android.view.ViewAnimationUtils;
|
||||||
@ -20,7 +20,7 @@ import org.thoughtcrime.securesms.qr.ScanListener;
|
|||||||
import org.thoughtcrime.securesms.qr.ScanningThread;
|
import org.thoughtcrime.securesms.qr.ScanningThread;
|
||||||
import org.thoughtcrime.securesms.util.ViewUtil;
|
import org.thoughtcrime.securesms.util.ViewUtil;
|
||||||
|
|
||||||
public class DeviceAddFragment extends Fragment {
|
public class DeviceAddFragment extends LoggingFragment {
|
||||||
|
|
||||||
private ViewGroup container;
|
private ViewGroup container;
|
||||||
private LinearLayout overlay;
|
private LinearLayout overlay;
|
||||||
|
@ -53,7 +53,7 @@ public class DeviceListFragment extends ListFragment
|
|||||||
@Override
|
@Override
|
||||||
public void onCreate(Bundle savedInstanceState) {
|
public void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
this.locale = (Locale) getArguments().getSerializable(PassphraseRequiredActionBarActivity.LOCALE_EXTRA);
|
this.locale = (Locale) getArguments().getSerializable(PassphraseRequiredActivity.LOCALE_EXTRA);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -5,7 +5,7 @@ import android.os.Bundle;
|
|||||||
import androidx.appcompat.app.AlertDialog;
|
import androidx.appcompat.app.AlertDialog;
|
||||||
import android.view.Window;
|
import android.view.Window;
|
||||||
|
|
||||||
public class DeviceProvisioningActivity extends PassphraseRequiredActionBarActivity {
|
public class DeviceProvisioningActivity extends PassphraseRequiredActivity {
|
||||||
|
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
private static final String TAG = DeviceProvisioningActivity.class.getSimpleName();
|
private static final String TAG = DeviceProvisioningActivity.class.getSimpleName();
|
||||||
|
@ -43,7 +43,7 @@ import org.whispersystems.libsignal.util.guava.Optional;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.concurrent.ExecutionException;
|
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 ContactSelectionListFragment contactsFragment;
|
||||||
private EditText inviteText;
|
private EditText inviteText;
|
||||||
|
@ -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);
|
||||||
|
}
|
||||||
|
}
|
@ -7,7 +7,7 @@ import androidx.annotation.NonNull;
|
|||||||
import org.thoughtcrime.securesms.util.DynamicNoActionBarTheme;
|
import org.thoughtcrime.securesms.util.DynamicNoActionBarTheme;
|
||||||
import org.thoughtcrime.securesms.util.DynamicTheme;
|
import org.thoughtcrime.securesms.util.DynamicTheme;
|
||||||
|
|
||||||
public class MainActivity extends PassphraseRequiredActionBarActivity {
|
public class MainActivity extends PassphraseRequiredActivity {
|
||||||
|
|
||||||
private final DynamicTheme dynamicTheme = new DynamicNoActionBarTheme();
|
private final DynamicTheme dynamicTheme = new DynamicNoActionBarTheme();
|
||||||
private final MainNavigator navigator = new MainNavigator(this);
|
private final MainNavigator navigator = new MainNavigator(this);
|
||||||
|
@ -3,9 +3,8 @@ package org.thoughtcrime.securesms;
|
|||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.fragment.app.Fragment;
|
|
||||||
|
|
||||||
public class MainFragment extends Fragment {
|
public class MainFragment extends LoggingFragment {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onAttach(@NonNull Context context) {
|
public void onAttach(@NonNull Context context) {
|
||||||
|
@ -77,7 +77,7 @@ import java.util.Map;
|
|||||||
/**
|
/**
|
||||||
* Activity for displaying media attachments in-app
|
* Activity for displaying media attachments in-app
|
||||||
*/
|
*/
|
||||||
public final class MediaPreviewActivity extends PassphraseRequiredActionBarActivity
|
public final class MediaPreviewActivity extends PassphraseRequiredActivity
|
||||||
implements LoaderManager.LoaderCallbacks<Pair<Cursor, Integer>>,
|
implements LoaderManager.LoaderCallbacks<Pair<Cursor, Integer>>,
|
||||||
MediaRailAdapter.RailItemListener,
|
MediaRailAdapter.RailItemListener,
|
||||||
MediaPreviewFragment.Events
|
MediaPreviewFragment.Events
|
||||||
|
@ -32,7 +32,7 @@ import org.thoughtcrime.securesms.service.KeyCachingService;
|
|||||||
*
|
*
|
||||||
* @author Moxie Marlinspike
|
* @author Moxie Marlinspike
|
||||||
*/
|
*/
|
||||||
public abstract class PassphraseActivity extends BaseActionBarActivity {
|
public abstract class PassphraseActivity extends BaseActivity {
|
||||||
|
|
||||||
private static final String TAG = PassphraseActivity.class.getSimpleName();
|
private static final String TAG = PassphraseActivity.class.getSimpleName();
|
||||||
|
|
||||||
|
@ -29,8 +29,8 @@ import org.thoughtcrime.securesms.util.TextSecurePreferences;
|
|||||||
|
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
|
|
||||||
public abstract class PassphraseRequiredActionBarActivity extends BaseActionBarActivity implements MasterSecretListener {
|
public abstract class PassphraseRequiredActivity extends BaseActivity implements MasterSecretListener {
|
||||||
private static final String TAG = PassphraseRequiredActionBarActivity.class.getSimpleName();
|
private static final String TAG = PassphraseRequiredActivity.class.getSimpleName();
|
||||||
|
|
||||||
public static final String LOCALE_EXTRA = "locale_extra";
|
public static final String LOCALE_EXTRA = "locale_extra";
|
||||||
public static final String NEXT_INTENT_EXTRA = "next_intent";
|
public static final String NEXT_INTENT_EXTRA = "next_intent";
|
||||||
@ -49,7 +49,6 @@ public abstract class PassphraseRequiredActionBarActivity extends BaseActionBarA
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected final void onCreate(Bundle savedInstanceState) {
|
protected final void onCreate(Bundle savedInstanceState) {
|
||||||
Log.d(TAG, "[" + Log.tag(getClass()) + "] onCreate()");
|
|
||||||
this.networkAccess = new SignalServiceNetworkAccess(this);
|
this.networkAccess = new SignalServiceNetworkAccess(this);
|
||||||
onPreCreate();
|
onPreCreate();
|
||||||
|
|
||||||
@ -69,7 +68,6 @@ public abstract class PassphraseRequiredActionBarActivity extends BaseActionBarA
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onResume() {
|
protected void onResume() {
|
||||||
Log.d(TAG, "[" + Log.tag(getClass()) + "] onResume()");
|
|
||||||
super.onResume();
|
super.onResume();
|
||||||
|
|
||||||
if (networkAccess.isCensored(this)) {
|
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
|
@Override
|
||||||
protected void onDestroy() {
|
protected void onDestroy() {
|
||||||
Log.d(TAG, "[" + Log.tag(getClass()) + "] onDestroy()");
|
|
||||||
super.onDestroy();
|
super.onDestroy();
|
||||||
removeClearKeyReceiver(this);
|
removeClearKeyReceiver(this);
|
||||||
}
|
}
|
@ -6,7 +6,7 @@ import android.widget.Button;
|
|||||||
|
|
||||||
import org.thoughtcrime.securesms.preferences.MmsPreferencesActivity;
|
import org.thoughtcrime.securesms.preferences.MmsPreferencesActivity;
|
||||||
|
|
||||||
public class PromptMmsActivity extends PassphraseRequiredActionBarActivity {
|
public class PromptMmsActivity extends PassphraseRequiredActivity {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle bundle, boolean ready) {
|
protected void onCreate(Bundle bundle, boolean ready) {
|
||||||
|
@ -104,7 +104,7 @@ import static org.whispersystems.libsignal.SessionCipher.SESSION_LOCK;
|
|||||||
* @author Moxie Marlinspike
|
* @author Moxie Marlinspike
|
||||||
*/
|
*/
|
||||||
@SuppressLint("StaticFieldLeak")
|
@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);
|
private static final String TAG = Log.tag(VerifyIdentityActivity.class);
|
||||||
|
|
||||||
|
@ -8,7 +8,7 @@ import androidx.annotation.NonNull;
|
|||||||
import androidx.appcompat.widget.Toolbar;
|
import androidx.appcompat.widget.Toolbar;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
import org.thoughtcrime.securesms.PassphraseRequiredActionBarActivity;
|
import org.thoughtcrime.securesms.PassphraseRequiredActivity;
|
||||||
import org.thoughtcrime.securesms.R;
|
import org.thoughtcrime.securesms.R;
|
||||||
import org.thoughtcrime.securesms.util.DynamicLanguage;
|
import org.thoughtcrime.securesms.util.DynamicLanguage;
|
||||||
import org.thoughtcrime.securesms.util.DynamicNoActionBarTheme;
|
import org.thoughtcrime.securesms.util.DynamicNoActionBarTheme;
|
||||||
@ -16,7 +16,7 @@ import org.thoughtcrime.securesms.util.DynamicTheme;
|
|||||||
|
|
||||||
import static org.thoughtcrime.securesms.contactshare.Contact.*;
|
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_NAME = "name";
|
||||||
public static final String KEY_CONTACT_INDEX = "contact_index";
|
public static final String KEY_CONTACT_INDEX = "contact_index";
|
||||||
|
@ -14,7 +14,7 @@ import androidx.recyclerview.widget.RecyclerView;
|
|||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
import org.thoughtcrime.securesms.PassphraseRequiredActionBarActivity;
|
import org.thoughtcrime.securesms.PassphraseRequiredActivity;
|
||||||
import org.thoughtcrime.securesms.R;
|
import org.thoughtcrime.securesms.R;
|
||||||
import org.thoughtcrime.securesms.database.DatabaseFactory;
|
import org.thoughtcrime.securesms.database.DatabaseFactory;
|
||||||
import org.thoughtcrime.securesms.mms.GlideApp;
|
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.Contact.*;
|
||||||
import static org.thoughtcrime.securesms.contactshare.ContactShareEditViewModel.*;
|
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";
|
public static final String KEY_CONTACTS = "contacts";
|
||||||
private static final String KEY_CONTACT_URIS = "contact_uris";
|
private static final String KEY_CONTACT_URIS = "contact_uris";
|
||||||
|
@ -20,8 +20,7 @@ import android.widget.TextView;
|
|||||||
|
|
||||||
import com.bumptech.glide.load.engine.DiskCacheStrategy;
|
import com.bumptech.glide.load.engine.DiskCacheStrategy;
|
||||||
|
|
||||||
import org.thoughtcrime.securesms.ApplicationContext;
|
import org.thoughtcrime.securesms.PassphraseRequiredActivity;
|
||||||
import org.thoughtcrime.securesms.PassphraseRequiredActionBarActivity;
|
|
||||||
import org.thoughtcrime.securesms.R;
|
import org.thoughtcrime.securesms.R;
|
||||||
import org.thoughtcrime.securesms.database.RecipientDatabase;
|
import org.thoughtcrime.securesms.database.RecipientDatabase;
|
||||||
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
|
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
|
||||||
@ -44,7 +43,7 @@ import java.util.Map;
|
|||||||
|
|
||||||
import static org.thoughtcrime.securesms.mms.DecryptableStreamUriLoader.*;
|
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 int CODE_ADD_EDIT_CONTACT = 2323;
|
||||||
private static final String KEY_CONTACT = "contact";
|
private static final String KEY_CONTACT = "contact";
|
||||||
|
@ -85,7 +85,7 @@ import org.thoughtcrime.securesms.ExpirationDialog;
|
|||||||
import org.thoughtcrime.securesms.GroupMembersDialog;
|
import org.thoughtcrime.securesms.GroupMembersDialog;
|
||||||
import org.thoughtcrime.securesms.MainActivity;
|
import org.thoughtcrime.securesms.MainActivity;
|
||||||
import org.thoughtcrime.securesms.MuteDialog;
|
import org.thoughtcrime.securesms.MuteDialog;
|
||||||
import org.thoughtcrime.securesms.PassphraseRequiredActionBarActivity;
|
import org.thoughtcrime.securesms.PassphraseRequiredActivity;
|
||||||
import org.thoughtcrime.securesms.PromptMmsActivity;
|
import org.thoughtcrime.securesms.PromptMmsActivity;
|
||||||
import org.thoughtcrime.securesms.R;
|
import org.thoughtcrime.securesms.R;
|
||||||
import org.thoughtcrime.securesms.ShortcutLauncherActivity;
|
import org.thoughtcrime.securesms.ShortcutLauncherActivity;
|
||||||
@ -262,7 +262,7 @@ import static org.whispersystems.libsignal.SessionCipher.SESSION_LOCK;
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@SuppressLint("StaticFieldLeak")
|
@SuppressLint("StaticFieldLeak")
|
||||||
public class ConversationActivity extends PassphraseRequiredActionBarActivity
|
public class ConversationActivity extends PassphraseRequiredActivity
|
||||||
implements ConversationFragment.ConversationFragmentListener,
|
implements ConversationFragment.ConversationFragmentListener,
|
||||||
AttachmentManager.AttachmentListener,
|
AttachmentManager.AttachmentListener,
|
||||||
OnKeyboardShownListener,
|
OnKeyboardShownListener,
|
||||||
|
@ -50,7 +50,6 @@ import androidx.appcompat.widget.Toolbar;
|
|||||||
import androidx.core.app.ActivityCompat;
|
import androidx.core.app.ActivityCompat;
|
||||||
import androidx.core.app.ActivityOptionsCompat;
|
import androidx.core.app.ActivityOptionsCompat;
|
||||||
import androidx.core.text.HtmlCompat;
|
import androidx.core.text.HtmlCompat;
|
||||||
import androidx.fragment.app.Fragment;
|
|
||||||
import androidx.lifecycle.ViewModelProviders;
|
import androidx.lifecycle.ViewModelProviders;
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||||
import androidx.recyclerview.widget.RecyclerView;
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
@ -60,7 +59,8 @@ import com.annimon.stream.Stream;
|
|||||||
import com.google.android.collect.Sets;
|
import com.google.android.collect.Sets;
|
||||||
|
|
||||||
import org.thoughtcrime.securesms.ApplicationContext;
|
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.R;
|
||||||
import org.thoughtcrime.securesms.attachments.Attachment;
|
import org.thoughtcrime.securesms.attachments.Attachment;
|
||||||
import org.thoughtcrime.securesms.components.ConversationTypingView;
|
import org.thoughtcrime.securesms.components.ConversationTypingView;
|
||||||
@ -133,7 +133,7 @@ import java.util.Locale;
|
|||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
@SuppressLint("StaticFieldLeak")
|
@SuppressLint("StaticFieldLeak")
|
||||||
public class ConversationFragment extends Fragment {
|
public class ConversationFragment extends LoggingFragment {
|
||||||
private static final String TAG = ConversationFragment.class.getSimpleName();
|
private static final String TAG = ConversationFragment.class.getSimpleName();
|
||||||
|
|
||||||
private static final int SCROLL_ANIMATION_THRESHOLD = 50;
|
private static final int SCROLL_ANIMATION_THRESHOLD = 50;
|
||||||
@ -177,7 +177,7 @@ public class ConversationFragment extends Fragment {
|
|||||||
@Override
|
@Override
|
||||||
public void onCreate(Bundle icicle) {
|
public void onCreate(Bundle icicle) {
|
||||||
super.onCreate(icicle);
|
super.onCreate(icicle);
|
||||||
this.locale = (Locale) getArguments().getSerializable(PassphraseRequiredActionBarActivity.LOCALE_EXTRA);
|
this.locale = (Locale) getArguments().getSerializable(PassphraseRequiredActivity.LOCALE_EXTRA);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -6,7 +6,6 @@ import android.content.Context;
|
|||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.AsyncTask;
|
import android.os.AsyncTask;
|
||||||
import android.os.Build;
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
|
||||||
import androidx.annotation.ColorInt;
|
import androidx.annotation.ColorInt;
|
||||||
@ -21,15 +20,13 @@ import androidx.fragment.app.FragmentPagerAdapter;
|
|||||||
import androidx.viewpager.widget.ViewPager;
|
import androidx.viewpager.widget.ViewPager;
|
||||||
import org.thoughtcrime.securesms.logging.Log;
|
import org.thoughtcrime.securesms.logging.Log;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.LinearLayout;
|
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
import org.thoughtcrime.securesms.PassphraseRequiredActionBarActivity;
|
import org.thoughtcrime.securesms.PassphraseRequiredActivity;
|
||||||
import org.thoughtcrime.securesms.R;
|
import org.thoughtcrime.securesms.R;
|
||||||
import org.thoughtcrime.securesms.providers.BlobProvider;
|
import org.thoughtcrime.securesms.providers.BlobProvider;
|
||||||
import org.thoughtcrime.securesms.util.DynamicDarkToolbarTheme;
|
import org.thoughtcrime.securesms.util.DynamicDarkToolbarTheme;
|
||||||
import org.thoughtcrime.securesms.util.DynamicLanguage;
|
import org.thoughtcrime.securesms.util.DynamicLanguage;
|
||||||
import org.thoughtcrime.securesms.util.DynamicNoActionBarTheme;
|
|
||||||
import org.thoughtcrime.securesms.util.DynamicTheme;
|
import org.thoughtcrime.securesms.util.DynamicTheme;
|
||||||
import org.thoughtcrime.securesms.util.MediaUtil;
|
import org.thoughtcrime.securesms.util.MediaUtil;
|
||||||
import org.thoughtcrime.securesms.util.ViewUtil;
|
import org.thoughtcrime.securesms.util.ViewUtil;
|
||||||
@ -37,7 +34,7 @@ import org.thoughtcrime.securesms.util.ViewUtil;
|
|||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.concurrent.ExecutionException;
|
import java.util.concurrent.ExecutionException;
|
||||||
|
|
||||||
public class GiphyActivity extends PassphraseRequiredActionBarActivity
|
public class GiphyActivity extends PassphraseRequiredActivity
|
||||||
implements GiphyActivityToolbar.OnLayoutChangedListener,
|
implements GiphyActivityToolbar.OnLayoutChangedListener,
|
||||||
GiphyActivityToolbar.OnFilterChangedListener,
|
GiphyActivityToolbar.OnFilterChangedListener,
|
||||||
GiphyAdapter.OnItemClickListener
|
GiphyAdapter.OnItemClickListener
|
||||||
|
@ -4,7 +4,6 @@ import android.os.AsyncTask;
|
|||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
import androidx.fragment.app.Fragment;
|
|
||||||
import androidx.loader.app.LoaderManager;
|
import androidx.loader.app.LoaderManager;
|
||||||
import androidx.loader.content.Loader;
|
import androidx.loader.content.Loader;
|
||||||
import androidx.recyclerview.widget.DefaultItemAnimator;
|
import androidx.recyclerview.widget.DefaultItemAnimator;
|
||||||
@ -17,6 +16,7 @@ import android.view.ViewGroup;
|
|||||||
import android.widget.ProgressBar;
|
import android.widget.ProgressBar;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
|
import org.thoughtcrime.securesms.LoggingFragment;
|
||||||
import org.thoughtcrime.securesms.R;
|
import org.thoughtcrime.securesms.R;
|
||||||
import org.thoughtcrime.securesms.giph.model.GiphyImage;
|
import org.thoughtcrime.securesms.giph.model.GiphyImage;
|
||||||
import org.thoughtcrime.securesms.giph.net.GiphyLoader;
|
import org.thoughtcrime.securesms.giph.net.GiphyLoader;
|
||||||
@ -28,7 +28,7 @@ import org.thoughtcrime.securesms.util.ViewUtil;
|
|||||||
import java.util.LinkedList;
|
import java.util.LinkedList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public abstract class GiphyFragment extends Fragment implements LoaderManager.LoaderCallbacks<List<GiphyImage>>, GiphyAdapter.OnItemClickListener {
|
public abstract class GiphyFragment extends LoggingFragment implements LoaderManager.LoaderCallbacks<List<GiphyImage>>, GiphyAdapter.OnItemClickListener {
|
||||||
|
|
||||||
private static final String TAG = GiphyFragment.class.getSimpleName();
|
private static final String TAG = GiphyFragment.class.getSimpleName();
|
||||||
|
|
||||||
|
@ -31,8 +31,6 @@ public class EncryptedBitmapCacheDecoder extends EncryptedCoder implements Resou
|
|||||||
public boolean handles(@NonNull File source, @NonNull Options options)
|
public boolean handles(@NonNull File source, @NonNull Options options)
|
||||||
throws IOException
|
throws IOException
|
||||||
{
|
{
|
||||||
Log.i(TAG, "Checking item for encrypted Bitmap cache decoder: " + source.toString());
|
|
||||||
|
|
||||||
try (InputStream inputStream = createEncryptedInputStream(secret, source)) {
|
try (InputStream inputStream = createEncryptedInputStream(secret, source)) {
|
||||||
return streamBitmapDecoder.handles(inputStream, options);
|
return streamBitmapDecoder.handles(inputStream, options);
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
@ -41,12 +39,10 @@ public class EncryptedBitmapCacheDecoder extends EncryptedCoder implements Resou
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Nullable
|
|
||||||
@Override
|
@Override
|
||||||
public Resource<Bitmap> decode(@NonNull File source, int width, int height, @NonNull Options options)
|
public @Nullable Resource<Bitmap> decode(@NonNull File source, int width, int height, @NonNull Options options)
|
||||||
throws IOException
|
throws IOException
|
||||||
{
|
{
|
||||||
Log.i(TAG, "Encrypted Bitmap cache decoder running: " + source.toString());
|
|
||||||
try (InputStream inputStream = createEncryptedInputStream(secret, source)) {
|
try (InputStream inputStream = createEncryptedInputStream(secret, source)) {
|
||||||
return streamBitmapDecoder.decode(inputStream, width, height, options);
|
return streamBitmapDecoder.decode(inputStream, width, height, options);
|
||||||
}
|
}
|
||||||
|
@ -29,8 +29,6 @@ public class EncryptedGifCacheDecoder extends EncryptedCoder implements Resource
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean handles(@NonNull File source, @NonNull Options options) {
|
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)) {
|
try (InputStream inputStream = createEncryptedInputStream(secret, source)) {
|
||||||
return gifDecoder.handles(inputStream, options);
|
return gifDecoder.handles(inputStream, options);
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
@ -39,9 +37,8 @@ public class EncryptedGifCacheDecoder extends EncryptedCoder implements Resource
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Nullable
|
|
||||||
@Override
|
@Override
|
||||||
public Resource<GifDrawable> decode(@NonNull File source, int width, int height, @NonNull Options options) throws IOException {
|
public @Nullable Resource<GifDrawable> decode(@NonNull File source, int width, int height, @NonNull Options options) throws IOException {
|
||||||
Log.i(TAG, "Encrypted GIF cache decoder running...");
|
Log.i(TAG, "Encrypted GIF cache decoder running...");
|
||||||
try (InputStream inputStream = createEncryptedInputStream(secret, source)) {
|
try (InputStream inputStream = createEncryptedInputStream(secret, source)) {
|
||||||
return gifDecoder.decode(inputStream, width, height, options);
|
return gifDecoder.decode(inputStream, width, height, options);
|
||||||
|
@ -10,7 +10,7 @@ import androidx.annotation.Nullable;
|
|||||||
import androidx.navigation.NavGraph;
|
import androidx.navigation.NavGraph;
|
||||||
import androidx.navigation.Navigation;
|
import androidx.navigation.Navigation;
|
||||||
|
|
||||||
import org.thoughtcrime.securesms.PassphraseRequiredActionBarActivity;
|
import org.thoughtcrime.securesms.PassphraseRequiredActivity;
|
||||||
import org.thoughtcrime.securesms.R;
|
import org.thoughtcrime.securesms.R;
|
||||||
import org.thoughtcrime.securesms.conversation.ConversationActivity;
|
import org.thoughtcrime.securesms.conversation.ConversationActivity;
|
||||||
import org.thoughtcrime.securesms.database.ThreadDatabase;
|
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.DynamicNoActionBarTheme;
|
||||||
import org.thoughtcrime.securesms.util.DynamicTheme;
|
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";
|
private static final String EXTRA_RECIPIENTS = "recipient_ids";
|
||||||
|
|
||||||
|
@ -29,6 +29,7 @@ import com.bumptech.glide.request.target.CustomTarget;
|
|||||||
import com.bumptech.glide.request.transition.Transition;
|
import com.bumptech.glide.request.transition.Transition;
|
||||||
import com.dd.CircularProgressButton;
|
import com.dd.CircularProgressButton;
|
||||||
|
|
||||||
|
import org.thoughtcrime.securesms.LoggingFragment;
|
||||||
import org.thoughtcrime.securesms.R;
|
import org.thoughtcrime.securesms.R;
|
||||||
import org.thoughtcrime.securesms.groups.ui.GroupMemberListView;
|
import org.thoughtcrime.securesms.groups.ui.GroupMemberListView;
|
||||||
import org.thoughtcrime.securesms.mediasend.AvatarSelectionActivity;
|
import org.thoughtcrime.securesms.mediasend.AvatarSelectionActivity;
|
||||||
@ -46,7 +47,7 @@ import org.thoughtcrime.securesms.util.text.AfterTextChanged;
|
|||||||
|
|
||||||
import java.util.Objects;
|
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 int AVATAR_PLACEHOLDER_INSET_DP = 18;
|
||||||
private static final short REQUEST_CODE_AVATAR = 27621;
|
private static final short REQUEST_CODE_AVATAR = 27621;
|
||||||
|
@ -10,13 +10,13 @@ import androidx.annotation.NonNull;
|
|||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
import androidx.core.app.ActivityOptionsCompat;
|
import androidx.core.app.ActivityOptionsCompat;
|
||||||
|
|
||||||
import org.thoughtcrime.securesms.PassphraseRequiredActionBarActivity;
|
import org.thoughtcrime.securesms.PassphraseRequiredActivity;
|
||||||
import org.thoughtcrime.securesms.R;
|
import org.thoughtcrime.securesms.R;
|
||||||
import org.thoughtcrime.securesms.groups.GroupId;
|
import org.thoughtcrime.securesms.groups.GroupId;
|
||||||
import org.thoughtcrime.securesms.util.DynamicNoActionBarTheme;
|
import org.thoughtcrime.securesms.util.DynamicNoActionBarTheme;
|
||||||
import org.thoughtcrime.securesms.util.DynamicTheme;
|
import org.thoughtcrime.securesms.util.DynamicTheme;
|
||||||
|
|
||||||
public class ManageGroupActivity extends PassphraseRequiredActionBarActivity {
|
public class ManageGroupActivity extends PassphraseRequiredActivity {
|
||||||
|
|
||||||
private static final String GROUP_ID = "GROUP_ID";
|
private static final String GROUP_ID = "GROUP_ID";
|
||||||
|
|
||||||
|
@ -16,13 +16,13 @@ import androidx.annotation.Nullable;
|
|||||||
import androidx.appcompat.widget.SwitchCompat;
|
import androidx.appcompat.widget.SwitchCompat;
|
||||||
import androidx.appcompat.widget.Toolbar;
|
import androidx.appcompat.widget.Toolbar;
|
||||||
import androidx.core.view.ViewCompat;
|
import androidx.core.view.ViewCompat;
|
||||||
import androidx.fragment.app.Fragment;
|
|
||||||
import androidx.fragment.app.FragmentActivity;
|
import androidx.fragment.app.FragmentActivity;
|
||||||
import androidx.lifecycle.ViewModelProviders;
|
import androidx.lifecycle.ViewModelProviders;
|
||||||
|
|
||||||
import com.google.android.material.snackbar.Snackbar;
|
import com.google.android.material.snackbar.Snackbar;
|
||||||
|
|
||||||
import org.thoughtcrime.securesms.AvatarPreviewActivity;
|
import org.thoughtcrime.securesms.AvatarPreviewActivity;
|
||||||
|
import org.thoughtcrime.securesms.LoggingFragment;
|
||||||
import org.thoughtcrime.securesms.MediaPreviewActivity;
|
import org.thoughtcrime.securesms.MediaPreviewActivity;
|
||||||
import org.thoughtcrime.securesms.MuteDialog;
|
import org.thoughtcrime.securesms.MuteDialog;
|
||||||
import org.thoughtcrime.securesms.PushContactSelectionActivity;
|
import org.thoughtcrime.securesms.PushContactSelectionActivity;
|
||||||
@ -53,7 +53,7 @@ import java.util.List;
|
|||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
import java.util.Objects;
|
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 GROUP_ID = "GROUP_ID";
|
||||||
|
|
||||||
private static final String TAG = Log.tag(ManageGroupFragment.class);
|
private static final String TAG = Log.tag(ManageGroupFragment.class);
|
||||||
|
@ -7,13 +7,13 @@ import android.os.Bundle;
|
|||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.appcompat.widget.Toolbar;
|
import androidx.appcompat.widget.Toolbar;
|
||||||
|
|
||||||
import org.thoughtcrime.securesms.PassphraseRequiredActionBarActivity;
|
import org.thoughtcrime.securesms.PassphraseRequiredActivity;
|
||||||
import org.thoughtcrime.securesms.R;
|
import org.thoughtcrime.securesms.R;
|
||||||
import org.thoughtcrime.securesms.groups.GroupId;
|
import org.thoughtcrime.securesms.groups.GroupId;
|
||||||
import org.thoughtcrime.securesms.util.DynamicNoActionBarTheme;
|
import org.thoughtcrime.securesms.util.DynamicNoActionBarTheme;
|
||||||
import org.thoughtcrime.securesms.util.DynamicTheme;
|
import org.thoughtcrime.securesms.util.DynamicTheme;
|
||||||
|
|
||||||
public class PendingMemberInvitesActivity extends PassphraseRequiredActionBarActivity {
|
public class PendingMemberInvitesActivity extends PassphraseRequiredActivity {
|
||||||
|
|
||||||
private static final String GROUP_ID = "GROUP_ID";
|
private static final String GROUP_ID = "GROUP_ID";
|
||||||
|
|
||||||
|
@ -1,12 +1,8 @@
|
|||||||
package org.thoughtcrime.securesms.help;
|
package org.thoughtcrime.securesms.help;
|
||||||
|
|
||||||
import android.content.Context;
|
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.Build;
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.text.SpannableStringBuilder;
|
|
||||||
import android.text.Spanned;
|
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
@ -18,27 +14,23 @@ import androidx.annotation.IdRes;
|
|||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
import androidx.annotation.StringRes;
|
import androidx.annotation.StringRes;
|
||||||
import androidx.fragment.app.Fragment;
|
|
||||||
import androidx.lifecycle.ViewModelProviders;
|
import androidx.lifecycle.ViewModelProviders;
|
||||||
|
|
||||||
import com.annimon.stream.Stream;
|
import com.annimon.stream.Stream;
|
||||||
import com.dd.CircularProgressButton;
|
import com.dd.CircularProgressButton;
|
||||||
|
|
||||||
import org.thoughtcrime.securesms.ApplicationPreferencesActivity;
|
import org.thoughtcrime.securesms.ApplicationPreferencesActivity;
|
||||||
import org.thoughtcrime.securesms.BuildConfig;
|
import org.thoughtcrime.securesms.LoggingFragment;
|
||||||
import org.thoughtcrime.securesms.R;
|
import org.thoughtcrime.securesms.R;
|
||||||
import org.thoughtcrime.securesms.components.emoji.EmojiImageView;
|
import org.thoughtcrime.securesms.components.emoji.EmojiImageView;
|
||||||
import org.thoughtcrime.securesms.util.AppSignatureUtil;
|
|
||||||
import org.thoughtcrime.securesms.util.CommunicationActions;
|
import org.thoughtcrime.securesms.util.CommunicationActions;
|
||||||
import org.thoughtcrime.securesms.util.IntentUtils;
|
|
||||||
import org.thoughtcrime.securesms.util.SupportEmailUtil;
|
import org.thoughtcrime.securesms.util.SupportEmailUtil;
|
||||||
import org.thoughtcrime.securesms.util.text.AfterTextChanged;
|
import org.thoughtcrime.securesms.util.text.AfterTextChanged;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Locale;
|
|
||||||
|
|
||||||
public class HelpFragment extends Fragment {
|
public class HelpFragment extends LoggingFragment {
|
||||||
|
|
||||||
private EditText problem;
|
private EditText problem;
|
||||||
private CheckBox includeDebugLogs;
|
private CheckBox includeDebugLogs;
|
||||||
|
@ -13,16 +13,16 @@ import android.widget.TextView;
|
|||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
import androidx.annotation.StringRes;
|
import androidx.annotation.StringRes;
|
||||||
import androidx.fragment.app.Fragment;
|
|
||||||
|
|
||||||
import com.airbnb.lottie.LottieAnimationView;
|
import com.airbnb.lottie.LottieAnimationView;
|
||||||
|
|
||||||
|
import org.thoughtcrime.securesms.LoggingFragment;
|
||||||
import org.thoughtcrime.securesms.R;
|
import org.thoughtcrime.securesms.R;
|
||||||
import org.thoughtcrime.securesms.util.CommunicationActions;
|
import org.thoughtcrime.securesms.util.CommunicationActions;
|
||||||
import org.thoughtcrime.securesms.util.text.AfterTextChanged;
|
import org.thoughtcrime.securesms.util.text.AfterTextChanged;
|
||||||
import org.thoughtcrime.securesms.util.views.LearnMoreTextView;
|
import org.thoughtcrime.securesms.util.views.LearnMoreTextView;
|
||||||
|
|
||||||
abstract class BaseKbsPinFragment<ViewModel extends BaseKbsPinViewModel> extends Fragment {
|
abstract class BaseKbsPinFragment<ViewModel extends BaseKbsPinViewModel> extends LoggingFragment {
|
||||||
|
|
||||||
private TextView title;
|
private TextView title;
|
||||||
private LearnMoreTextView description;
|
private LearnMoreTextView description;
|
||||||
|
@ -10,14 +10,14 @@ import androidx.annotation.Nullable;
|
|||||||
import androidx.navigation.NavGraph;
|
import androidx.navigation.NavGraph;
|
||||||
import androidx.navigation.Navigation;
|
import androidx.navigation.Navigation;
|
||||||
|
|
||||||
import org.thoughtcrime.securesms.BaseActionBarActivity;
|
import org.thoughtcrime.securesms.BaseActivity;
|
||||||
import org.thoughtcrime.securesms.PassphrasePromptActivity;
|
import org.thoughtcrime.securesms.PassphrasePromptActivity;
|
||||||
import org.thoughtcrime.securesms.R;
|
import org.thoughtcrime.securesms.R;
|
||||||
import org.thoughtcrime.securesms.service.KeyCachingService;
|
import org.thoughtcrime.securesms.service.KeyCachingService;
|
||||||
import org.thoughtcrime.securesms.util.DynamicRegistrationTheme;
|
import org.thoughtcrime.securesms.util.DynamicRegistrationTheme;
|
||||||
import org.thoughtcrime.securesms.util.DynamicTheme;
|
import org.thoughtcrime.securesms.util.DynamicTheme;
|
||||||
|
|
||||||
public class CreateKbsPinActivity extends BaseActionBarActivity {
|
public class CreateKbsPinActivity extends BaseActivity {
|
||||||
|
|
||||||
public static final int REQUEST_NEW_PIN = 27698;
|
public static final int REQUEST_NEW_PIN = 27698;
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@ import android.os.Bundle;
|
|||||||
|
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
|
|
||||||
import org.thoughtcrime.securesms.BaseActionBarActivity;
|
import org.thoughtcrime.securesms.BaseActivity;
|
||||||
import org.thoughtcrime.securesms.PassphrasePromptActivity;
|
import org.thoughtcrime.securesms.PassphrasePromptActivity;
|
||||||
import org.thoughtcrime.securesms.R;
|
import org.thoughtcrime.securesms.R;
|
||||||
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
|
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.DynamicRegistrationTheme;
|
||||||
import org.thoughtcrime.securesms.util.DynamicTheme;
|
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;
|
public static final int REQUEST_NEW_PIN = CreateKbsPinActivity.REQUEST_NEW_PIN;
|
||||||
|
|
||||||
|
@ -20,7 +20,7 @@ import androidx.recyclerview.widget.RecyclerView;
|
|||||||
|
|
||||||
import com.dd.CircularProgressButton;
|
import com.dd.CircularProgressButton;
|
||||||
|
|
||||||
import org.thoughtcrime.securesms.BaseActionBarActivity;
|
import org.thoughtcrime.securesms.BaseActivity;
|
||||||
import org.thoughtcrime.securesms.R;
|
import org.thoughtcrime.securesms.R;
|
||||||
import org.thoughtcrime.securesms.util.DynamicTheme;
|
import org.thoughtcrime.securesms.util.DynamicTheme;
|
||||||
import org.thoughtcrime.securesms.util.ThemeUtil;
|
import org.thoughtcrime.securesms.util.ThemeUtil;
|
||||||
@ -30,7 +30,7 @@ import org.thoughtcrime.securesms.util.views.SimpleProgressDialog;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class SubmitDebugLogActivity extends BaseActionBarActivity implements SubmitDebugLogAdapter.Listener {
|
public class SubmitDebugLogActivity extends BaseActivity implements SubmitDebugLogAdapter.Listener {
|
||||||
|
|
||||||
private RecyclerView lineList;
|
private RecyclerView lineList;
|
||||||
private SubmitDebugLogAdapter adapter;
|
private SubmitDebugLogAdapter adapter;
|
||||||
|
@ -21,7 +21,7 @@ import android.widget.Toast;
|
|||||||
|
|
||||||
import com.annimon.stream.Stream;
|
import com.annimon.stream.Stream;
|
||||||
|
|
||||||
import org.thoughtcrime.securesms.PassphraseRequiredActionBarActivity;
|
import org.thoughtcrime.securesms.PassphraseRequiredActivity;
|
||||||
import org.thoughtcrime.securesms.R;
|
import org.thoughtcrime.securesms.R;
|
||||||
import org.thoughtcrime.securesms.color.MaterialColor;
|
import org.thoughtcrime.securesms.color.MaterialColor;
|
||||||
import org.thoughtcrime.securesms.components.ConversationItemFooter;
|
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.DynamicTheme;
|
||||||
import org.thoughtcrime.securesms.util.TextSecurePreferences;
|
import org.thoughtcrime.securesms.util.TextSecurePreferences;
|
||||||
import org.thoughtcrime.securesms.util.ThemeUtil;
|
import org.thoughtcrime.securesms.util.ThemeUtil;
|
||||||
import org.thoughtcrime.securesms.util.Util;
|
|
||||||
import org.thoughtcrime.securesms.util.views.Stub;
|
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_CONVERSATION_RECIPIENT = "recipient_id";
|
||||||
private static final String KEY_MESSAGE_ID = "message_id";
|
private static final String KEY_MESSAGE_ID = "message_id";
|
||||||
|
@ -35,7 +35,7 @@ import androidx.viewpager.widget.ViewPager;
|
|||||||
|
|
||||||
import com.google.android.material.tabs.TabLayout;
|
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.R;
|
||||||
import org.thoughtcrime.securesms.components.AnimatingToggle;
|
import org.thoughtcrime.securesms.components.AnimatingToggle;
|
||||||
import org.thoughtcrime.securesms.database.DatabaseFactory;
|
import org.thoughtcrime.securesms.database.DatabaseFactory;
|
||||||
@ -53,7 +53,7 @@ import java.util.List;
|
|||||||
/**
|
/**
|
||||||
* Activity for displaying media attachments in-app
|
* 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";
|
private static final String THREAD_ID_EXTRA = "thread_id";
|
||||||
|
|
||||||
|
@ -26,7 +26,6 @@ import android.widget.TextView;
|
|||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
import androidx.fragment.app.Fragment;
|
|
||||||
import androidx.lifecycle.ViewModelProviders;
|
import androidx.lifecycle.ViewModelProviders;
|
||||||
|
|
||||||
import com.bumptech.glide.Glide;
|
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.target.SimpleTarget;
|
||||||
import com.bumptech.glide.request.transition.Transition;
|
import com.bumptech.glide.request.transition.Transition;
|
||||||
|
|
||||||
|
import org.thoughtcrime.securesms.LoggingFragment;
|
||||||
import org.thoughtcrime.securesms.R;
|
import org.thoughtcrime.securesms.R;
|
||||||
import org.thoughtcrime.securesms.logging.Log;
|
import org.thoughtcrime.securesms.logging.Log;
|
||||||
import org.thoughtcrime.securesms.mms.DecryptableStreamUriLoader.DecryptableUri;
|
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.
|
* Camera capture implemented with the legacy camera API's. Should only be used if sdk < 21.
|
||||||
*/
|
*/
|
||||||
public class Camera1Fragment extends Fragment implements CameraFragment,
|
public class Camera1Fragment extends LoggingFragment implements CameraFragment,
|
||||||
TextureView.SurfaceTextureListener,
|
TextureView.SurfaceTextureListener,
|
||||||
Camera1Controller.EventListener
|
Camera1Controller.EventListener
|
||||||
{
|
{
|
||||||
|
|
||||||
private static final String TAG = Camera1Fragment.class.getSimpleName();
|
private static final String TAG = Camera1Fragment.class.getSimpleName();
|
||||||
|
@ -22,12 +22,12 @@ import androidx.lifecycle.ViewModelProviders;
|
|||||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||||
import androidx.recyclerview.widget.RecyclerView;
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
|
|
||||||
|
import org.thoughtcrime.securesms.LoggingFragment;
|
||||||
import org.thoughtcrime.securesms.InviteActivity;
|
import org.thoughtcrime.securesms.InviteActivity;
|
||||||
import org.thoughtcrime.securesms.R;
|
import org.thoughtcrime.securesms.R;
|
||||||
import org.thoughtcrime.securesms.mms.GlideApp;
|
import org.thoughtcrime.securesms.mms.GlideApp;
|
||||||
import org.thoughtcrime.securesms.recipients.Recipient;
|
import org.thoughtcrime.securesms.recipients.Recipient;
|
||||||
import org.thoughtcrime.securesms.util.DynamicTheme;
|
import org.thoughtcrime.securesms.util.DynamicTheme;
|
||||||
import org.thoughtcrime.securesms.util.TextSecurePreferences;
|
|
||||||
import org.thoughtcrime.securesms.util.ThemeUtil;
|
import org.thoughtcrime.securesms.util.ThemeUtil;
|
||||||
|
|
||||||
import java.util.List;
|
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.
|
* 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 Controller controller;
|
||||||
private MediaSendViewModel mediaSendViewModel;
|
private MediaSendViewModel mediaSendViewModel;
|
||||||
|
@ -27,12 +27,12 @@ import androidx.camera.core.ImageCapture;
|
|||||||
import androidx.camera.core.ImageCaptureException;
|
import androidx.camera.core.ImageCaptureException;
|
||||||
import androidx.camera.core.ImageProxy;
|
import androidx.camera.core.ImageProxy;
|
||||||
import androidx.core.content.ContextCompat;
|
import androidx.core.content.ContextCompat;
|
||||||
import androidx.fragment.app.Fragment;
|
|
||||||
import androidx.lifecycle.ViewModelProviders;
|
import androidx.lifecycle.ViewModelProviders;
|
||||||
|
|
||||||
import com.bumptech.glide.Glide;
|
import com.bumptech.glide.Glide;
|
||||||
import com.bumptech.glide.util.Executors;
|
import com.bumptech.glide.util.Executors;
|
||||||
|
|
||||||
|
import org.thoughtcrime.securesms.LoggingFragment;
|
||||||
import org.thoughtcrime.securesms.R;
|
import org.thoughtcrime.securesms.R;
|
||||||
import org.thoughtcrime.securesms.components.TooltipPopup;
|
import org.thoughtcrime.securesms.components.TooltipPopup;
|
||||||
import org.thoughtcrime.securesms.logging.Log;
|
import org.thoughtcrime.securesms.logging.Log;
|
||||||
@ -57,7 +57,7 @@ import java.io.IOException;
|
|||||||
* preferred whenever possible.
|
* preferred whenever possible.
|
||||||
*/
|
*/
|
||||||
@RequiresApi(21)
|
@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 TAG = Log.tag(CameraXFragment.class);
|
||||||
private static final String IS_VIDEO_ENABLED = "is_video_enabled";
|
private static final String IS_VIDEO_ENABLED = "is_video_enabled";
|
||||||
|
@ -30,7 +30,7 @@ import androidx.lifecycle.ViewModelProviders;
|
|||||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||||
import androidx.recyclerview.widget.RecyclerView;
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
|
|
||||||
import org.thoughtcrime.securesms.PassphraseRequiredActionBarActivity;
|
import org.thoughtcrime.securesms.PassphraseRequiredActivity;
|
||||||
import org.thoughtcrime.securesms.R;
|
import org.thoughtcrime.securesms.R;
|
||||||
import org.thoughtcrime.securesms.TransportOption;
|
import org.thoughtcrime.securesms.TransportOption;
|
||||||
import org.thoughtcrime.securesms.TransportOptions;
|
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)}.
|
* This activity is intended to be launched via {@link #startActivityForResult(Intent, int)}.
|
||||||
* It will return the {@link Media} that the user decided to send.
|
* 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,
|
MediaPickerItemFragment.Controller,
|
||||||
ImageEditorFragment.Controller,
|
ImageEditorFragment.Controller,
|
||||||
MediaSendVideoFragment.Controller,
|
MediaSendVideoFragment.Controller,
|
||||||
|
@ -11,7 +11,7 @@ import androidx.annotation.NonNull;
|
|||||||
import androidx.lifecycle.ViewModelProviders;
|
import androidx.lifecycle.ViewModelProviders;
|
||||||
import androidx.recyclerview.widget.RecyclerView;
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
|
|
||||||
import org.thoughtcrime.securesms.PassphraseRequiredActionBarActivity;
|
import org.thoughtcrime.securesms.PassphraseRequiredActivity;
|
||||||
import org.thoughtcrime.securesms.R;
|
import org.thoughtcrime.securesms.R;
|
||||||
import org.thoughtcrime.securesms.color.MaterialColor;
|
import org.thoughtcrime.securesms.color.MaterialColor;
|
||||||
import org.thoughtcrime.securesms.database.MmsSmsDatabase;
|
import org.thoughtcrime.securesms.database.MmsSmsDatabase;
|
||||||
@ -28,7 +28,7 @@ import java.util.ArrayList;
|
|||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.List;
|
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 MESSAGE_ID_EXTRA = "message_id";
|
||||||
private static final String THREAD_ID_EXTRA = "thread_id";
|
private static final String THREAD_ID_EXTRA = "thread_id";
|
||||||
|
@ -8,7 +8,7 @@ import androidx.annotation.Nullable;
|
|||||||
|
|
||||||
import com.airbnb.lottie.LottieAnimationView;
|
import com.airbnb.lottie.LottieAnimationView;
|
||||||
|
|
||||||
import org.thoughtcrime.securesms.PassphraseRequiredActionBarActivity;
|
import org.thoughtcrime.securesms.PassphraseRequiredActivity;
|
||||||
import org.thoughtcrime.securesms.R;
|
import org.thoughtcrime.securesms.R;
|
||||||
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
|
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
|
||||||
import org.thoughtcrime.securesms.megaphone.Megaphones;
|
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.recipients.Recipient;
|
||||||
import org.thoughtcrime.securesms.util.DynamicNoActionBarTheme;
|
import org.thoughtcrime.securesms.util.DynamicNoActionBarTheme;
|
||||||
import org.thoughtcrime.securesms.util.DynamicTheme;
|
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;
|
public static final short EDIT_PROFILE_REQUEST_CODE = 24563;
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ import androidx.annotation.Nullable;
|
|||||||
import androidx.appcompat.app.AppCompatActivity;
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
|
||||||
import org.thoughtcrime.securesms.MainActivity;
|
import org.thoughtcrime.securesms.MainActivity;
|
||||||
import org.thoughtcrime.securesms.PassphraseRequiredActionBarActivity;
|
import org.thoughtcrime.securesms.PassphraseRequiredActivity;
|
||||||
import org.thoughtcrime.securesms.R;
|
import org.thoughtcrime.securesms.R;
|
||||||
import org.thoughtcrime.securesms.lock.v2.CreateKbsPinActivity;
|
import org.thoughtcrime.securesms.lock.v2.CreateKbsPinActivity;
|
||||||
|
|
||||||
@ -22,7 +22,7 @@ public final class PinRestoreActivity extends AppCompatActivity {
|
|||||||
void navigateToPinCreation() {
|
void navigateToPinCreation() {
|
||||||
final Intent main = new Intent(this, MainActivity.class);
|
final Intent main = new Intent(this, MainActivity.class);
|
||||||
final Intent createPin = CreateKbsPinActivity.getIntentForPinCreate(this);
|
final Intent createPin = CreateKbsPinActivity.getIntentForPinCreate(this);
|
||||||
final Intent chained = PassphraseRequiredActionBarActivity.chainIntent(createPin, main);
|
final Intent chained = PassphraseRequiredActivity.chainIntent(createPin, main);
|
||||||
|
|
||||||
startActivity(chained);
|
startActivity(chained);
|
||||||
}
|
}
|
||||||
|
@ -25,6 +25,7 @@ import androidx.navigation.Navigation;
|
|||||||
|
|
||||||
import com.dd.CircularProgressButton;
|
import com.dd.CircularProgressButton;
|
||||||
|
|
||||||
|
import org.thoughtcrime.securesms.LoggingFragment;
|
||||||
import org.thoughtcrime.securesms.MainActivity;
|
import org.thoughtcrime.securesms.MainActivity;
|
||||||
import org.thoughtcrime.securesms.R;
|
import org.thoughtcrime.securesms.R;
|
||||||
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
|
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.SupportEmailUtil;
|
||||||
import org.thoughtcrime.securesms.util.ViewUtil;
|
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 String TAG = Log.tag(PinRestoreActivity.class);
|
||||||
|
|
||||||
private static final int MINIMUM_PIN_LENGTH = 4;
|
private static final int MINIMUM_PIN_LENGTH = 4;
|
||||||
|
@ -9,10 +9,11 @@ import androidx.annotation.NonNull;
|
|||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
import androidx.fragment.app.Fragment;
|
import androidx.fragment.app.Fragment;
|
||||||
|
|
||||||
|
import org.thoughtcrime.securesms.LoggingFragment;
|
||||||
import org.thoughtcrime.securesms.R;
|
import org.thoughtcrime.securesms.R;
|
||||||
import org.thoughtcrime.securesms.util.CommunicationActions;
|
import org.thoughtcrime.securesms.util.CommunicationActions;
|
||||||
|
|
||||||
public class PinRestoreLockedFragment extends Fragment {
|
public class PinRestoreLockedFragment extends LoggingFragment {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @Nullable View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
|
public @Nullable View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
|
||||||
|
@ -22,11 +22,11 @@ import androidx.fragment.app.FragmentManager;
|
|||||||
import androidx.fragment.app.FragmentTransaction;
|
import androidx.fragment.app.FragmentTransaction;
|
||||||
import android.view.MenuItem;
|
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.DynamicLanguage;
|
||||||
import org.thoughtcrime.securesms.util.DynamicTheme;
|
import org.thoughtcrime.securesms.util.DynamicTheme;
|
||||||
|
|
||||||
public class MmsPreferencesActivity extends PassphraseRequiredActionBarActivity {
|
public class MmsPreferencesActivity extends PassphraseRequiredActivity {
|
||||||
|
|
||||||
private final DynamicTheme dynamicTheme = new DynamicTheme();
|
private final DynamicTheme dynamicTheme = new DynamicTheme();
|
||||||
private final DynamicLanguage dynamicLanguage = new DynamicLanguage();
|
private final DynamicLanguage dynamicLanguage = new DynamicLanguage();
|
||||||
|
@ -21,7 +21,7 @@ import android.os.AsyncTask;
|
|||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
|
|
||||||
import org.thoughtcrime.securesms.PassphraseRequiredActionBarActivity;
|
import org.thoughtcrime.securesms.PassphraseRequiredActivity;
|
||||||
import org.thoughtcrime.securesms.R;
|
import org.thoughtcrime.securesms.R;
|
||||||
import org.thoughtcrime.securesms.components.CustomDefaultPreference;
|
import org.thoughtcrime.securesms.components.CustomDefaultPreference;
|
||||||
import org.thoughtcrime.securesms.database.ApnDatabase;
|
import org.thoughtcrime.securesms.database.ApnDatabase;
|
||||||
@ -41,8 +41,8 @@ public class MmsPreferencesFragment extends CorrectedPreferenceFragment {
|
|||||||
public void onCreate(Bundle paramBundle) {
|
public void onCreate(Bundle paramBundle) {
|
||||||
super.onCreate(paramBundle);
|
super.onCreate(paramBundle);
|
||||||
|
|
||||||
((PassphraseRequiredActionBarActivity) getActivity()).getSupportActionBar()
|
((PassphraseRequiredActivity) getActivity()).getSupportActionBar()
|
||||||
.setTitle(R.string.preferences__advanced_mms_access_point_names);
|
.setTitle(R.string.preferences__advanced_mms_access_point_names);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -10,14 +10,14 @@ import androidx.annotation.NonNull;
|
|||||||
import androidx.navigation.NavGraph;
|
import androidx.navigation.NavGraph;
|
||||||
import androidx.navigation.Navigation;
|
import androidx.navigation.Navigation;
|
||||||
|
|
||||||
import org.thoughtcrime.securesms.BaseActionBarActivity;
|
import org.thoughtcrime.securesms.BaseActivity;
|
||||||
import org.thoughtcrime.securesms.R;
|
import org.thoughtcrime.securesms.R;
|
||||||
import org.thoughtcrime.securesms.groups.GroupId;
|
import org.thoughtcrime.securesms.groups.GroupId;
|
||||||
import org.thoughtcrime.securesms.util.DynamicRegistrationTheme;
|
import org.thoughtcrime.securesms.util.DynamicRegistrationTheme;
|
||||||
import org.thoughtcrime.securesms.util.DynamicTheme;
|
import org.thoughtcrime.securesms.util.DynamicTheme;
|
||||||
|
|
||||||
@SuppressLint("StaticFieldLeak")
|
@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 NEXT_INTENT = "next_intent";
|
||||||
public static final String EXCLUDE_SYSTEM = "exclude_system";
|
public static final String EXCLUDE_SYSTEM = "exclude_system";
|
||||||
|
@ -11,7 +11,6 @@ import android.view.LayoutInflater;
|
|||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewAnimationUtils;
|
import android.view.ViewAnimationUtils;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
import android.view.WindowManager;
|
|
||||||
import android.widget.EditText;
|
import android.widget.EditText;
|
||||||
import android.widget.ImageView;
|
import android.widget.ImageView;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
@ -22,7 +21,6 @@ import androidx.annotation.Nullable;
|
|||||||
import androidx.annotation.RequiresApi;
|
import androidx.annotation.RequiresApi;
|
||||||
import androidx.annotation.StringRes;
|
import androidx.annotation.StringRes;
|
||||||
import androidx.appcompat.widget.Toolbar;
|
import androidx.appcompat.widget.Toolbar;
|
||||||
import androidx.fragment.app.Fragment;
|
|
||||||
import androidx.lifecycle.ViewModelProviders;
|
import androidx.lifecycle.ViewModelProviders;
|
||||||
import androidx.navigation.NavDirections;
|
import androidx.navigation.NavDirections;
|
||||||
import androidx.navigation.Navigation;
|
import androidx.navigation.Navigation;
|
||||||
@ -31,6 +29,7 @@ import com.bumptech.glide.load.engine.DiskCacheStrategy;
|
|||||||
import com.dd.CircularProgressButton;
|
import com.dd.CircularProgressButton;
|
||||||
import com.google.android.gms.common.util.IOUtils;
|
import com.google.android.gms.common.util.IOUtils;
|
||||||
|
|
||||||
|
import org.thoughtcrime.securesms.LoggingFragment;
|
||||||
import org.thoughtcrime.securesms.R;
|
import org.thoughtcrime.securesms.R;
|
||||||
import org.thoughtcrime.securesms.contacts.avatars.ResourceContactPhoto;
|
import org.thoughtcrime.securesms.contacts.avatars.ResourceContactPhoto;
|
||||||
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
|
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.NEXT_INTENT;
|
||||||
import static org.thoughtcrime.securesms.profiles.edit.EditProfileActivity.SHOW_TOOLBAR;
|
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 TAG = Log.tag(EditProfileFragment.class);
|
||||||
private static final String AVATAR_STATE = "avatar";
|
private static final String AVATAR_STATE = "avatar";
|
||||||
|
@ -10,13 +10,13 @@ import androidx.annotation.NonNull;
|
|||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
import androidx.core.app.ActivityOptionsCompat;
|
import androidx.core.app.ActivityOptionsCompat;
|
||||||
|
|
||||||
import org.thoughtcrime.securesms.PassphraseRequiredActionBarActivity;
|
import org.thoughtcrime.securesms.PassphraseRequiredActivity;
|
||||||
import org.thoughtcrime.securesms.R;
|
import org.thoughtcrime.securesms.R;
|
||||||
import org.thoughtcrime.securesms.recipients.RecipientId;
|
import org.thoughtcrime.securesms.recipients.RecipientId;
|
||||||
import org.thoughtcrime.securesms.util.DynamicNoActionBarTheme;
|
import org.thoughtcrime.securesms.util.DynamicNoActionBarTheme;
|
||||||
import org.thoughtcrime.securesms.util.DynamicTheme;
|
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 RECIPIENT_ID = "RECIPIENT_ID";
|
||||||
private static final String FROM_CONVERSATION = "FROM_CONVERSATION";
|
private static final String FROM_CONVERSATION = "FROM_CONVERSATION";
|
||||||
|
@ -21,7 +21,6 @@ import androidx.appcompat.widget.SwitchCompat;
|
|||||||
import androidx.appcompat.widget.Toolbar;
|
import androidx.appcompat.widget.Toolbar;
|
||||||
import androidx.core.content.ContextCompat;
|
import androidx.core.content.ContextCompat;
|
||||||
import androidx.core.view.ViewCompat;
|
import androidx.core.view.ViewCompat;
|
||||||
import androidx.fragment.app.Fragment;
|
|
||||||
import androidx.fragment.app.FragmentActivity;
|
import androidx.fragment.app.FragmentActivity;
|
||||||
import androidx.lifecycle.ViewModelProviders;
|
import androidx.lifecycle.ViewModelProviders;
|
||||||
|
|
||||||
@ -29,6 +28,7 @@ import com.takisoft.colorpicker.ColorPickerDialog;
|
|||||||
import com.takisoft.colorpicker.ColorStateDrawable;
|
import com.takisoft.colorpicker.ColorStateDrawable;
|
||||||
|
|
||||||
import org.thoughtcrime.securesms.AvatarPreviewActivity;
|
import org.thoughtcrime.securesms.AvatarPreviewActivity;
|
||||||
|
import org.thoughtcrime.securesms.LoggingFragment;
|
||||||
import org.thoughtcrime.securesms.MediaPreviewActivity;
|
import org.thoughtcrime.securesms.MediaPreviewActivity;
|
||||||
import org.thoughtcrime.securesms.MuteDialog;
|
import org.thoughtcrime.securesms.MuteDialog;
|
||||||
import org.thoughtcrime.securesms.R;
|
import org.thoughtcrime.securesms.R;
|
||||||
@ -54,7 +54,7 @@ import org.thoughtcrime.securesms.util.Util;
|
|||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
import java.util.Objects;
|
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 RECIPIENT_ID = "RECIPIENT_ID";
|
||||||
private static final String FROM_CONVERSATION = "FROM_CONVERSATION";
|
private static final String FROM_CONVERSATION = "FROM_CONVERSATION";
|
||||||
|
|
||||||
|
@ -10,20 +10,20 @@ import android.widget.Toast;
|
|||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
import androidx.fragment.app.Fragment;
|
|
||||||
import androidx.fragment.app.FragmentActivity;
|
import androidx.fragment.app.FragmentActivity;
|
||||||
import androidx.lifecycle.SavedStateViewModelFactory;
|
import androidx.lifecycle.SavedStateViewModelFactory;
|
||||||
import androidx.lifecycle.ViewModelProviders;
|
import androidx.lifecycle.ViewModelProviders;
|
||||||
|
|
||||||
import com.dd.CircularProgressButton;
|
import com.dd.CircularProgressButton;
|
||||||
|
|
||||||
|
import org.thoughtcrime.securesms.LoggingFragment;
|
||||||
import org.thoughtcrime.securesms.R;
|
import org.thoughtcrime.securesms.R;
|
||||||
import org.thoughtcrime.securesms.logsubmit.SubmitDebugLogActivity;
|
import org.thoughtcrime.securesms.logsubmit.SubmitDebugLogActivity;
|
||||||
import org.thoughtcrime.securesms.registration.viewmodel.RegistrationViewModel;
|
import org.thoughtcrime.securesms.registration.viewmodel.RegistrationViewModel;
|
||||||
|
|
||||||
import static org.thoughtcrime.securesms.registration.RegistrationNavigationActivity.RE_REGISTRATION_EXTRA;
|
import static org.thoughtcrime.securesms.registration.RegistrationNavigationActivity.RE_REGISTRATION_EXTRA;
|
||||||
|
|
||||||
abstract class BaseRegistrationFragment extends Fragment {
|
abstract class BaseRegistrationFragment extends LoggingFragment {
|
||||||
|
|
||||||
private RegistrationViewModel model;
|
private RegistrationViewModel model;
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@ import android.widget.TextView;
|
|||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.lifecycle.ViewModelProviders;
|
import androidx.lifecycle.ViewModelProviders;
|
||||||
|
|
||||||
import org.thoughtcrime.securesms.PassphraseRequiredActionBarActivity;
|
import org.thoughtcrime.securesms.PassphraseRequiredActivity;
|
||||||
import org.thoughtcrime.securesms.R;
|
import org.thoughtcrime.securesms.R;
|
||||||
import org.thoughtcrime.securesms.logging.Log;
|
import org.thoughtcrime.securesms.logging.Log;
|
||||||
import org.thoughtcrime.securesms.mms.DecryptableStreamUriLoader.DecryptableUri;
|
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.mms.VideoSlide;
|
||||||
import org.thoughtcrime.securesms.providers.BlobProvider;
|
import org.thoughtcrime.securesms.providers.BlobProvider;
|
||||||
import org.thoughtcrime.securesms.util.MediaUtil;
|
import org.thoughtcrime.securesms.util.MediaUtil;
|
||||||
import org.thoughtcrime.securesms.util.ViewUtil;
|
|
||||||
import org.thoughtcrime.securesms.video.VideoPlayer;
|
import org.thoughtcrime.securesms.video.VideoPlayer;
|
||||||
|
|
||||||
import java.util.concurrent.TimeUnit;
|
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);
|
private static final String TAG = Log.tag(ViewOnceMessageActivity.class);
|
||||||
|
|
||||||
|
@ -24,7 +24,6 @@ import android.os.Bundle;
|
|||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
import androidx.appcompat.app.AlertDialog;
|
import androidx.appcompat.app.AlertDialog;
|
||||||
import androidx.fragment.app.DialogFragment;
|
|
||||||
import androidx.lifecycle.ViewModelProviders;
|
import androidx.lifecycle.ViewModelProviders;
|
||||||
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
|
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
|
||||||
import androidx.appcompat.app.ActionBar;
|
import androidx.appcompat.app.ActionBar;
|
||||||
@ -35,7 +34,7 @@ import android.widget.ImageView;
|
|||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
import org.thoughtcrime.securesms.ContactSelectionListFragment;
|
import org.thoughtcrime.securesms.ContactSelectionListFragment;
|
||||||
import org.thoughtcrime.securesms.PassphraseRequiredActionBarActivity;
|
import org.thoughtcrime.securesms.PassphraseRequiredActivity;
|
||||||
import org.thoughtcrime.securesms.R;
|
import org.thoughtcrime.securesms.R;
|
||||||
import org.thoughtcrime.securesms.components.SearchToolbar;
|
import org.thoughtcrime.securesms.components.SearchToolbar;
|
||||||
import org.thoughtcrime.securesms.contacts.ContactsCursorLoader.DisplayMode;
|
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.DynamicNoActionBarTheme;
|
||||||
import org.thoughtcrime.securesms.util.DynamicTheme;
|
import org.thoughtcrime.securesms.util.DynamicTheme;
|
||||||
import org.thoughtcrime.securesms.util.TextSecurePreferences;
|
import org.thoughtcrime.securesms.util.TextSecurePreferences;
|
||||||
import org.thoughtcrime.securesms.util.ViewUtil;
|
|
||||||
import org.thoughtcrime.securesms.util.concurrent.SimpleTask;
|
import org.thoughtcrime.securesms.util.concurrent.SimpleTask;
|
||||||
import org.thoughtcrime.securesms.util.views.SimpleProgressDialog;
|
import org.thoughtcrime.securesms.util.views.SimpleProgressDialog;
|
||||||
import org.whispersystems.libsignal.util.Pair;
|
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
|
* 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).
|
* 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
|
implements ContactSelectionListFragment.OnContactSelectedListener, SwipeRefreshLayout.OnRefreshListener
|
||||||
{
|
{
|
||||||
private static final String TAG = ShareActivity.class.getSimpleName();
|
private static final String TAG = ShareActivity.class.getSimpleName();
|
||||||
|
@ -10,7 +10,7 @@ import androidx.recyclerview.widget.LinearLayoutManager;
|
|||||||
import androidx.recyclerview.widget.RecyclerView;
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
import android.view.MenuItem;
|
import android.view.MenuItem;
|
||||||
|
|
||||||
import org.thoughtcrime.securesms.PassphraseRequiredActionBarActivity;
|
import org.thoughtcrime.securesms.PassphraseRequiredActivity;
|
||||||
import org.thoughtcrime.securesms.R;
|
import org.thoughtcrime.securesms.R;
|
||||||
import org.thoughtcrime.securesms.sharing.ShareActivity;
|
import org.thoughtcrime.securesms.sharing.ShareActivity;
|
||||||
import org.thoughtcrime.securesms.mms.GlideApp;
|
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.
|
* 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();
|
private final DynamicTheme dynamicTheme = new DynamicTheme();
|
||||||
|
|
||||||
|
@ -17,7 +17,7 @@ import android.widget.Toast;
|
|||||||
|
|
||||||
import com.bumptech.glide.load.resource.drawable.DrawableTransitionOptions;
|
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.R;
|
||||||
import org.thoughtcrime.securesms.sharing.ShareActivity;
|
import org.thoughtcrime.securesms.sharing.ShareActivity;
|
||||||
import org.thoughtcrime.securesms.logging.Log;
|
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
|
* 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.
|
* (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,
|
implements StickerRolloverTouchListener.RolloverEventListener,
|
||||||
StickerRolloverTouchListener.RolloverStickerRetriever,
|
StickerRolloverTouchListener.RolloverStickerRetriever,
|
||||||
StickerPackPreviewAdapter.EventListener
|
StickerPackPreviewAdapter.EventListener
|
||||||
|
@ -17,12 +17,13 @@ import androidx.navigation.fragment.NavHostFragment;
|
|||||||
|
|
||||||
import com.dd.CircularProgressButton;
|
import com.dd.CircularProgressButton;
|
||||||
|
|
||||||
|
import org.thoughtcrime.securesms.LoggingFragment;
|
||||||
import org.thoughtcrime.securesms.R;
|
import org.thoughtcrime.securesms.R;
|
||||||
import org.thoughtcrime.securesms.contactshare.SimpleTextWatcher;
|
import org.thoughtcrime.securesms.contactshare.SimpleTextWatcher;
|
||||||
import org.thoughtcrime.securesms.util.TextSecurePreferences;
|
import org.thoughtcrime.securesms.util.TextSecurePreferences;
|
||||||
import org.thoughtcrime.securesms.util.UsernameUtil;
|
import org.thoughtcrime.securesms.util.UsernameUtil;
|
||||||
|
|
||||||
public class UsernameEditFragment extends Fragment {
|
public class UsernameEditFragment extends LoggingFragment {
|
||||||
|
|
||||||
private static final float DISABLED_ALPHA = 0.5f;
|
private static final float DISABLED_ALPHA = 0.5f;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user