mirror of
https://github.com/oxen-io/session-android.git
synced 2024-11-27 12:05:22 +00:00
Merge pull request #1614 from mcginty/contact-list-security
move FLAG_SECURE to PassphraseRequiredMixin
This commit is contained in:
commit
81365eff36
@ -203,7 +203,6 @@ public class ConversationActivity extends PassphraseRequiredSherlockFragmentActi
|
|||||||
dynamicLanguage.onResume(this);
|
dynamicLanguage.onResume(this);
|
||||||
|
|
||||||
initializeSecurity();
|
initializeSecurity();
|
||||||
initializeScreenshotSecurity();
|
|
||||||
initializeTitleBar();
|
initializeTitleBar();
|
||||||
initializeEnabledCheck();
|
initializeEnabledCheck();
|
||||||
initializeMmsEnabledCheck();
|
initializeMmsEnabledCheck();
|
||||||
@ -731,15 +730,6 @@ public class ConversationActivity extends PassphraseRequiredSherlockFragmentActi
|
|||||||
calculateCharactersRemaining();
|
calculateCharactersRemaining();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initializeScreenshotSecurity() {
|
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
|
|
||||||
if (TextSecurePreferences.isScreenSecurityEnabled(this)) {
|
|
||||||
getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);
|
|
||||||
} else {
|
|
||||||
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_SECURE);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void initializeMmsEnabledCheck() {
|
private void initializeMmsEnabledCheck() {
|
||||||
new AsyncTask<Void, Void, Boolean>() {
|
new AsyncTask<Void, Void, Boolean>() {
|
||||||
|
@ -86,7 +86,6 @@ public class ConversationListActivity extends PassphraseRequiredSherlockFragment
|
|||||||
dynamicLanguage.onResume(this);
|
dynamicLanguage.onResume(this);
|
||||||
|
|
||||||
initializeDefaultMessengerCheck();
|
initializeDefaultMessengerCheck();
|
||||||
initializeSecurity();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -299,16 +298,6 @@ public class ConversationListActivity extends PassphraseRequiredSherlockFragment
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initializeSecurity() {
|
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
|
|
||||||
if (TextSecurePreferences.isScreenSecurityEnabled(this)) {
|
|
||||||
getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);
|
|
||||||
} else {
|
|
||||||
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_SECURE);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
class DrawerToggle extends ActionBarDrawerToggle {
|
class DrawerToggle extends ActionBarDrawerToggle {
|
||||||
|
|
||||||
public DrawerToggle(Activity activity, DrawerLayout drawerLayout,
|
public DrawerToggle(Activity activity, DrawerLayout drawerLayout,
|
||||||
|
@ -1,13 +1,17 @@
|
|||||||
package org.thoughtcrime.securesms;
|
package org.thoughtcrime.securesms;
|
||||||
|
|
||||||
|
import android.app.Activity;
|
||||||
import android.content.BroadcastReceiver;
|
import android.content.BroadcastReceiver;
|
||||||
import android.content.ComponentName;
|
import android.content.ComponentName;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.IntentFilter;
|
import android.content.IntentFilter;
|
||||||
import android.content.ServiceConnection;
|
import android.content.ServiceConnection;
|
||||||
|
import android.os.Build;
|
||||||
import android.os.IBinder;
|
import android.os.IBinder;
|
||||||
|
import android.view.WindowManager;
|
||||||
|
|
||||||
|
import org.thoughtcrime.securesms.util.TextSecurePreferences;
|
||||||
import org.whispersystems.textsecure.crypto.MasterSecret;
|
import org.whispersystems.textsecure.crypto.MasterSecret;
|
||||||
import org.thoughtcrime.securesms.service.KeyCachingService;
|
import org.thoughtcrime.securesms.service.KeyCachingService;
|
||||||
|
|
||||||
@ -18,27 +22,38 @@ public class PassphraseRequiredMixin {
|
|||||||
private BroadcastReceiver clearKeyReceiver;
|
private BroadcastReceiver clearKeyReceiver;
|
||||||
private BroadcastReceiver newKeyReceiver;
|
private BroadcastReceiver newKeyReceiver;
|
||||||
|
|
||||||
public void onCreate(Context context, PassphraseRequiredActivity activity) {
|
public <T extends Activity & PassphraseRequiredActivity> void onCreate(T activity) {
|
||||||
initializeClearKeyReceiver(context, activity);
|
initializeClearKeyReceiver(activity);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onResume(Context context, PassphraseRequiredActivity activity) {
|
public <T extends Activity & PassphraseRequiredActivity> void onResume(T activity) {
|
||||||
initializeNewKeyReceiver(context, activity);
|
initializeScreenshotSecurity(activity);
|
||||||
initializeServiceConnection(context, activity);
|
initializeNewKeyReceiver(activity);
|
||||||
KeyCachingService.registerPassphraseActivityStarted(context);
|
initializeServiceConnection(activity);
|
||||||
|
KeyCachingService.registerPassphraseActivityStarted(activity);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onPause(Context context, PassphraseRequiredActivity activity) {
|
public <T extends Activity & PassphraseRequiredActivity> void onPause(T activity) {
|
||||||
removeNewKeyReceiver(context);
|
removeNewKeyReceiver(activity);
|
||||||
removeServiceConnection(context);
|
removeServiceConnection(activity);
|
||||||
KeyCachingService.registerPassphraseActivityStopped(context);
|
KeyCachingService.registerPassphraseActivityStopped(activity);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onDestroy(Context context, PassphraseRequiredActivity activity) {
|
public <T extends Activity & PassphraseRequiredActivity> void onDestroy(T activity) {
|
||||||
removeClearKeyReceiver(context);
|
removeClearKeyReceiver(activity);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initializeClearKeyReceiver(Context context, final PassphraseRequiredActivity activity) {
|
private <T extends Activity & PassphraseRequiredActivity> void initializeScreenshotSecurity(T activity) {
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
|
||||||
|
if (TextSecurePreferences.isScreenSecurityEnabled(activity)) {
|
||||||
|
activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);
|
||||||
|
} else {
|
||||||
|
activity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_SECURE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private <T extends Activity & PassphraseRequiredActivity> void initializeClearKeyReceiver(final T activity) {
|
||||||
this.clearKeyReceiver = new BroadcastReceiver() {
|
this.clearKeyReceiver = new BroadcastReceiver() {
|
||||||
@Override
|
@Override
|
||||||
public void onReceive(Context context, Intent intent) {
|
public void onReceive(Context context, Intent intent) {
|
||||||
@ -47,10 +62,11 @@ public class PassphraseRequiredMixin {
|
|||||||
};
|
};
|
||||||
|
|
||||||
IntentFilter filter = new IntentFilter(KeyCachingService.CLEAR_KEY_EVENT);
|
IntentFilter filter = new IntentFilter(KeyCachingService.CLEAR_KEY_EVENT);
|
||||||
context.registerReceiver(clearKeyReceiver, filter, KeyCachingService.KEY_PERMISSION, null);
|
|
||||||
|
activity.registerReceiver(clearKeyReceiver, filter, KeyCachingService.KEY_PERMISSION, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initializeNewKeyReceiver(Context context, final PassphraseRequiredActivity activity) {
|
private <T extends Activity & PassphraseRequiredActivity> void initializeNewKeyReceiver(final T activity) {
|
||||||
this.newKeyReceiver = new BroadcastReceiver() {
|
this.newKeyReceiver = new BroadcastReceiver() {
|
||||||
@Override
|
@Override
|
||||||
public void onReceive(Context context, Intent intent) {
|
public void onReceive(Context context, Intent intent) {
|
||||||
@ -59,17 +75,17 @@ public class PassphraseRequiredMixin {
|
|||||||
};
|
};
|
||||||
|
|
||||||
IntentFilter filter = new IntentFilter(KeyCachingService.NEW_KEY_EVENT);
|
IntentFilter filter = new IntentFilter(KeyCachingService.NEW_KEY_EVENT);
|
||||||
context.registerReceiver(newKeyReceiver, filter, KeyCachingService.KEY_PERMISSION, null);
|
activity.registerReceiver(newKeyReceiver, filter, KeyCachingService.KEY_PERMISSION, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initializeServiceConnection(Context context, PassphraseRequiredActivity activity) {
|
private <T extends Activity & PassphraseRequiredActivity> void initializeServiceConnection(T activity) {
|
||||||
Intent cachingIntent = new Intent(context, KeyCachingService.class);
|
Intent cachingIntent = new Intent(activity, KeyCachingService.class);
|
||||||
context.startService(cachingIntent);
|
activity.startService(cachingIntent);
|
||||||
|
|
||||||
this.serviceConnection = new KeyCachingServiceConnection(activity);
|
this.serviceConnection = new KeyCachingServiceConnection(activity);
|
||||||
|
|
||||||
Intent bindIntent = new Intent(context, KeyCachingService.class);
|
Intent bindIntent = new Intent(activity, KeyCachingService.class);
|
||||||
context.bindService(bindIntent, serviceConnection, Context.BIND_AUTO_CREATE);
|
activity.bindService(bindIntent, serviceConnection, Context.BIND_AUTO_CREATE);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void removeClearKeyReceiver(Context context) {
|
private void removeClearKeyReceiver(Context context) {
|
||||||
|
@ -13,25 +13,25 @@ public class PassphraseRequiredSherlockActivity extends SherlockActivity impleme
|
|||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
delegate.onCreate(this, this);
|
delegate.onCreate(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onResume() {
|
protected void onResume() {
|
||||||
super.onResume();
|
super.onResume();
|
||||||
delegate.onResume(this, this);
|
delegate.onResume(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onPause() {
|
protected void onPause() {
|
||||||
super.onPause();
|
super.onPause();
|
||||||
delegate.onPause(this, this);
|
delegate.onPause(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onDestroy() {
|
protected void onDestroy() {
|
||||||
super.onDestroy();
|
super.onDestroy();
|
||||||
delegate.onDestroy(this, this);
|
delegate.onDestroy(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -13,25 +13,25 @@ public class PassphraseRequiredSherlockFragmentActivity extends SherlockFragment
|
|||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
delegate.onCreate(this, this);
|
delegate.onCreate(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onResume() {
|
protected void onResume() {
|
||||||
super.onResume();
|
super.onResume();
|
||||||
delegate.onResume(this, this);
|
delegate.onResume(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onPause() {
|
protected void onPause() {
|
||||||
super.onPause();
|
super.onPause();
|
||||||
delegate.onPause(this, this);
|
delegate.onPause(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onDestroy() {
|
protected void onDestroy() {
|
||||||
super.onDestroy();
|
super.onDestroy();
|
||||||
delegate.onDestroy(this, this);
|
delegate.onDestroy(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -13,25 +13,25 @@ public class PassphraseRequiredSherlockListActivity extends SherlockListActivity
|
|||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
delegate.onCreate(this, this);
|
delegate.onCreate(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onResume() {
|
protected void onResume() {
|
||||||
super.onResume();
|
super.onResume();
|
||||||
delegate.onResume(this, this);
|
delegate.onResume(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onPause() {
|
protected void onPause() {
|
||||||
super.onPause();
|
super.onPause();
|
||||||
delegate.onPause(this, this);
|
delegate.onPause(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onDestroy() {
|
protected void onDestroy() {
|
||||||
super.onDestroy();
|
super.onDestroy();
|
||||||
delegate.onDestroy(this, this);
|
delegate.onDestroy(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -16,25 +16,25 @@ public abstract class PassphraseRequiredSherlockPreferenceActivity
|
|||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
delegate.onCreate(this, this);
|
delegate.onCreate(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onResume() {
|
protected void onResume() {
|
||||||
super.onResume();
|
super.onResume();
|
||||||
delegate.onResume(this, this);
|
delegate.onResume(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onPause() {
|
protected void onPause() {
|
||||||
super.onPause();
|
super.onPause();
|
||||||
delegate.onPause(this, this);
|
delegate.onPause(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onDestroy() {
|
protected void onDestroy() {
|
||||||
super.onDestroy();
|
super.onDestroy();
|
||||||
delegate.onDestroy(this, this);
|
delegate.onDestroy(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -72,7 +72,6 @@ public class ShareActivity extends PassphraseRequiredSherlockFragmentActivity
|
|||||||
dynamicTheme.onResume(this);
|
dynamicTheme.onResume(this);
|
||||||
dynamicLanguage.onResume(this);
|
dynamicLanguage.onResume(this);
|
||||||
getSupportActionBar().setTitle(R.string.ShareActivity_share_with);
|
getSupportActionBar().setTitle(R.string.ShareActivity_share_with);
|
||||||
initializeSecurity();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -141,16 +140,6 @@ public class ShareActivity extends PassphraseRequiredSherlockFragmentActivity
|
|||||||
this.fragment.setMasterSecret(masterSecret);
|
this.fragment.setMasterSecret(masterSecret);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initializeSecurity() {
|
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
|
|
||||||
if (TextSecurePreferences.isScreenSecurityEnabled(this)) {
|
|
||||||
getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);
|
|
||||||
} else {
|
|
||||||
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_SECURE);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private Intent getBaseShareIntent(final Class<?> target) {
|
private Intent getBaseShareIntent(final Class<?> target) {
|
||||||
final Intent intent = new Intent(this, target);
|
final Intent intent = new Intent(this, target);
|
||||||
final Intent originalIntent = getIntent();
|
final Intent originalIntent = getIntent();
|
||||||
|
Loading…
Reference in New Issue
Block a user