diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index ab08ce3459..142f0812ef 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -259,7 +259,8 @@
+ android:screenOrientation="portrait"
+ android:theme="@style/Theme.TextSecure.DayNight"/>
\"Devices\" > \"Link a Device\" to link your devices.", Toast.LENGTH_LONG).show();
- }
- };
- LocalBroadcastManager.getInstance(this).registerReceiver(broadcastReceiver, new IntentFilter("unexpectedDeviceLinkRequestReceived"));
}
@Override
@@ -85,26 +49,6 @@ public abstract class BaseActionBarActivity extends AppCompatActivity {
return true;
}
- @Override
- protected void onDestroy() {
- LocalBroadcastManager.getInstance(this).unregisterReceiver(broadcastReceiver);
- super.onDestroy();
- }
-
- @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);
@@ -113,40 +57,6 @@ public abstract class BaseActionBarActivity extends AppCompatActivity {
}
}
- /**
- * 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);
- }
-
- //TODO AC: I don't think we need this method,
- // setting any colors directly will most likely clash with the current theme.
- @Deprecated
- @TargetApi(VERSION_CODES.LOLLIPOP)
- protected void setStatusBarColor(int color) {
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
- getWindow().setStatusBarColor(color);
- }
- }
-
@Override
protected void attachBaseContext(Context newBase) {
super.attachBaseContext(DynamicLanguageContextWrapper.updateContext(newBase, TextSecurePreferences.getLanguage(newBase)));
diff --git a/app/src/main/java/org/thoughtcrime/securesms/BaseActivity.java b/app/src/main/java/org/thoughtcrime/securesms/BaseActivity.java
index b5800efc9d..e883245ecb 100644
--- a/app/src/main/java/org/thoughtcrime/securesms/BaseActivity.java
+++ b/app/src/main/java/org/thoughtcrime/securesms/BaseActivity.java
@@ -18,26 +18,6 @@ import org.thoughtcrime.securesms.util.dynamiclanguage.DynamicLanguageContextWra
import network.loki.messenger.R;
public abstract class BaseActivity extends FragmentActivity {
- @Override
- public boolean onKeyDown(int keyCode, KeyEvent event) {
- return (keyCode == KeyEvent.KEYCODE_MENU && isMenuWorkaroundRequired()) || super.onKeyDown(keyCode, event);
- }
-
- @Override
- public boolean onKeyUp(int keyCode, @NonNull KeyEvent event) {
- if (keyCode == KeyEvent.KEYCODE_MENU && isMenuWorkaroundRequired()) {
- openOptionsMenu();
- return true;
- }
- return super.onKeyUp(keyCode, event);
- }
-
- public static boolean isMenuWorkaroundRequired() {
- return VERSION.SDK_INT < VERSION_CODES.KITKAT &&
- VERSION.SDK_INT > VERSION_CODES.GINGERBREAD_MR1 &&
- ("LGE".equalsIgnoreCase(Build.MANUFACTURER) || "E6710".equalsIgnoreCase(Build.DEVICE));
- }
-
@Override
protected void onResume() {
super.onResume();
diff --git a/app/src/main/java/org/thoughtcrime/securesms/ExperienceUpgradeActivity.java b/app/src/main/java/org/thoughtcrime/securesms/ExperienceUpgradeActivity.java
index 59e42ec2f6..88ed1153f9 100644
--- a/app/src/main/java/org/thoughtcrime/securesms/ExperienceUpgradeActivity.java
+++ b/app/src/main/java/org/thoughtcrime/securesms/ExperienceUpgradeActivity.java
@@ -160,7 +160,6 @@ public class ExperienceUpgradeActivity extends BaseActionBarActivity implements
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- setStatusBarColor(getResources().getColor(R.color.signal_primary_dark));
final Optional upgrade = getExperienceUpgrade(this);
if (!upgrade.isPresent()) {
diff --git a/app/src/main/java/org/thoughtcrime/securesms/longmessage/LongMessageActivity.java b/app/src/main/java/org/thoughtcrime/securesms/longmessage/LongMessageActivity.java
index c245136bba..4140426369 100644
--- a/app/src/main/java/org/thoughtcrime/securesms/longmessage/LongMessageActivity.java
+++ b/app/src/main/java/org/thoughtcrime/securesms/longmessage/LongMessageActivity.java
@@ -1,13 +1,9 @@
package org.thoughtcrime.securesms.longmessage;
-import androidx.lifecycle.ViewModelProviders;
import android.content.Context;
import android.content.Intent;
import android.graphics.PorterDuff;
-import android.graphics.drawable.ColorDrawable;
-import android.os.Build;
import android.os.Bundle;
-import androidx.annotation.NonNull;
import android.text.SpannableString;
import android.text.method.LinkMovementMethod;
import android.text.style.URLSpan;
@@ -19,24 +15,26 @@ import android.view.ViewGroup;
import android.widget.TextView;
import android.widget.Toast;
+import androidx.annotation.NonNull;
+import androidx.lifecycle.ViewModelProvider;
+
import com.annimon.stream.Stream;
import org.thoughtcrime.securesms.PassphraseRequiredActionBarActivity;
-import network.loki.messenger.R;
-import org.thoughtcrime.securesms.color.MaterialColor;
import org.thoughtcrime.securesms.components.ConversationItemFooter;
import org.thoughtcrime.securesms.database.Address;
import org.thoughtcrime.securesms.linkpreview.LinkPreviewUtil;
import org.thoughtcrime.securesms.recipients.Recipient;
-import org.thoughtcrime.securesms.recipients.RecipientModifiedListener;
-import org.thoughtcrime.securesms.util.DynamicLanguage;
-import org.thoughtcrime.securesms.util.DynamicTheme;
import org.thoughtcrime.securesms.util.TextSecurePreferences;
import org.thoughtcrime.securesms.util.ThemeUtil;
import org.thoughtcrime.securesms.util.Util;
import org.thoughtcrime.securesms.util.views.Stub;
-public class LongMessageActivity extends PassphraseRequiredActionBarActivity implements RecipientModifiedListener {
+import java.util.Locale;
+
+import network.loki.messenger.R;
+
+public class LongMessageActivity extends PassphraseRequiredActionBarActivity {
private static final String KEY_ADDRESS = "address";
private static final String KEY_MESSAGE_ID = "message_id";
@@ -44,9 +42,6 @@ public class LongMessageActivity extends PassphraseRequiredActionBarActivity imp
private static final int MAX_DISPLAY_LENGTH = 64 * 1024;
- private final DynamicLanguage dynamicLanguage = new DynamicLanguage();
- private final DynamicTheme dynamicTheme = new DynamicTheme();
-
private Stub sentBubble;
private Stub receivedBubble;
@@ -60,13 +55,6 @@ public class LongMessageActivity extends PassphraseRequiredActionBarActivity imp
return intent;
}
- @Override
- protected void onPreCreate() {
- super.onPreCreate();
- dynamicLanguage.onCreate(this);
- dynamicTheme.onCreate(this);
- }
-
@Override
protected void onCreate(Bundle savedInstanceState, boolean ready) {
super.onCreate(savedInstanceState, ready);
@@ -76,19 +64,6 @@ public class LongMessageActivity extends PassphraseRequiredActionBarActivity imp
receivedBubble = new Stub<>(findViewById(R.id.longmessage_received_stub));
initViewModel(getIntent().getLongExtra(KEY_MESSAGE_ID, -1), getIntent().getBooleanExtra(KEY_IS_MMS, false));
-
- Recipient conversationRecipient = Recipient.from(this, Address.fromSerialized(getIntent().getStringExtra(KEY_ADDRESS)), true);
- conversationRecipient.addListener(this);
- updateActionBarColor(conversationRecipient.getColor());
-
- getSupportActionBar().setDisplayHomeAsUpEnabled(true);
- }
-
- @Override
- protected void onResume() {
- super.onResume();
- dynamicLanguage.onResume(this);
- dynamicTheme.onResume(this);
}
@Override
@@ -104,21 +79,8 @@ public class LongMessageActivity extends PassphraseRequiredActionBarActivity imp
return false;
}
- @Override
- public void onModified(final Recipient recipient) {
- Util.runOnMain(() -> updateActionBarColor(recipient.getColor()));
- }
-
- private void updateActionBarColor(@NonNull MaterialColor color) {
- getSupportActionBar().setBackgroundDrawable(new ColorDrawable(color.toActionBarColor(this)));
-
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
- getWindow().setStatusBarColor(color.toStatusBarColor(this));
- }
- }
-
private void initViewModel(long messageId, boolean isMms) {
- viewModel = ViewModelProviders.of(this, new LongMessageViewModel.Factory(getApplication(), new LongMessageRepository(this), messageId, isMms))
+ viewModel = new ViewModelProvider(this, new LongMessageViewModel.Factory(getApplication(), new LongMessageRepository(this), messageId, isMms))
.get(LongMessageViewModel.class);
viewModel.getMessage().observe(this, message -> {
@@ -143,10 +105,10 @@ public class LongMessageActivity extends PassphraseRequiredActionBarActivity imp
if (message.get().getMessageRecord().isOutgoing()) {
bubble = sentBubble.get();
- bubble.getBackground().setColorFilter(ThemeUtil.getThemedColor(this, R.attr.conversation_item_bubble_background), PorterDuff.Mode.MULTIPLY);
+ bubble.getBackground().setColorFilter(ThemeUtil.getThemedColor(this, R.attr.message_sent_background_color), PorterDuff.Mode.MULTIPLY);
} else {
bubble = receivedBubble.get();
- bubble.getBackground().setColorFilter(message.get().getMessageRecord().getRecipient().getColor().toConversationColor(this), PorterDuff.Mode.MULTIPLY);
+ bubble.getBackground().setColorFilter(ThemeUtil.getThemedColor(this, R.attr.message_received_background_color), PorterDuff.Mode.MULTIPLY);
}
TextView text = bubble.findViewById(R.id.longmessage_text);
@@ -159,7 +121,7 @@ public class LongMessageActivity extends PassphraseRequiredActionBarActivity imp
text.setText(styledBody);
text.setMovementMethod(LinkMovementMethod.getInstance());
text.setTextSize(TypedValue.COMPLEX_UNIT_SP, TextSecurePreferences.getMessageBodyTextSize(this));
- footer.setMessageRecord(message.get().getMessageRecord(), dynamicLanguage.getCurrentLocale());
+ footer.setMessageRecord(message.get().getMessageRecord(), Locale.getDefault());
});
}
diff --git a/app/src/main/java/org/thoughtcrime/securesms/stickers/StickerPackPreviewActivity.java b/app/src/main/java/org/thoughtcrime/securesms/stickers/StickerPackPreviewActivity.java
index 803f1ad19a..efe42f0795 100644
--- a/app/src/main/java/org/thoughtcrime/securesms/stickers/StickerPackPreviewActivity.java
+++ b/app/src/main/java/org/thoughtcrime/securesms/stickers/StickerPackPreviewActivity.java
@@ -129,11 +129,6 @@ public final class StickerPackPreviewActivity extends PassphraseRequiredActionBa
getSupportActionBar().setTitle(R.string.StickerPackPreviewActivity_stickers);
toolbar.setNavigationOnClickListener(v -> onBackPressed());
-
- if (!ThemeUtil.isDarkTheme(this) && Build.VERSION.SDK_INT >= 23) {
- setStatusBarColor(ThemeUtil.getThemedColor(this, R.attr.sticker_preview_status_bar_color));
- getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
- }
}
private void initViewModel(@NonNull String packId, @NonNull String packKey) {
diff --git a/app/src/main/res/layout/longmessage_bubble_received.xml b/app/src/main/res/layout/longmessage_bubble_received.xml
index 49d7ca4dad..f13704218b 100644
--- a/app/src/main/res/layout/longmessage_bubble_received.xml
+++ b/app/src/main/res/layout/longmessage_bubble_received.xml
@@ -27,7 +27,7 @@