Refactor with WindowUtil and correct some colors.

fork-5.53.8
Alex Hart 2020-11-13 14:43:58 -04:00 zatwierdzone przez GitHub
rodzic 96e241ef9c
commit 2a193ef455
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 4AEE18F83AFDEB23
16 zmienionych plików z 38 dodań i 38 usunięć

Wyświetl plik

@ -17,6 +17,7 @@ import androidx.core.app.ActivityOptionsCompat;
import org.thoughtcrime.securesms.logging.Log; import org.thoughtcrime.securesms.logging.Log;
import org.thoughtcrime.securesms.util.TextSecurePreferences; import org.thoughtcrime.securesms.util.TextSecurePreferences;
import org.thoughtcrime.securesms.util.WindowUtil;
import org.thoughtcrime.securesms.util.dynamiclanguage.DynamicLanguageContextWrapper; import org.thoughtcrime.securesms.util.dynamiclanguage.DynamicLanguageContextWrapper;
import java.util.Objects; import java.util.Objects;
@ -73,13 +74,6 @@ public abstract class BaseActivity extends AppCompatActivity {
ActivityCompat.startActivity(this, intent, bundle); ActivityCompat.startActivity(this, intent, bundle);
} }
@TargetApi(21)
protected void setStatusBarColor(int color) {
if (Build.VERSION.SDK_INT >= 21) {
getWindow().setStatusBarColor(color);
}
}
@Override @Override
protected void attachBaseContext(Context newBase) { protected void attachBaseContext(Context newBase) {
super.attachBaseContext(newBase); super.attachBaseContext(newBase);

Wyświetl plik

@ -167,7 +167,7 @@ public class InviteActivity extends PassphraseRequiredActivity implements Contac
primaryToolbar.setTitleTextColor(ContextCompat.getColor(this, R.color.signal_text_primary)); primaryToolbar.setTitleTextColor(ContextCompat.getColor(this, R.color.signal_text_primary));
if (Build.VERSION.SDK_INT >= 23) { if (Build.VERSION.SDK_INT >= 23) {
getWindow().setStatusBarColor(ThemeUtil.getThemedColor(this, android.R.attr.statusBarColor)); WindowUtil.setStatusBarColor(getWindow(), ThemeUtil.getThemedColor(this, android.R.attr.statusBarColor));
getWindow().setNavigationBarColor(ThemeUtil.getThemedColor(this, android.R.attr.navigationBarColor)); getWindow().setNavigationBarColor(ThemeUtil.getThemedColor(this, android.R.attr.navigationBarColor));
WindowUtil.setLightStatusBarFromTheme(this); WindowUtil.setLightStatusBarFromTheme(this);
} }
@ -181,7 +181,7 @@ public class InviteActivity extends PassphraseRequiredActivity implements Contac
primaryToolbar.setTitleTextColor(ContextCompat.getColor(this, R.color.signal_text_toolbar_title)); primaryToolbar.setTitleTextColor(ContextCompat.getColor(this, R.color.signal_text_toolbar_title));
if (Build.VERSION.SDK_INT >= 23) { if (Build.VERSION.SDK_INT >= 23) {
getWindow().setStatusBarColor(ContextCompat.getColor(this, R.color.core_ultramarine)); WindowUtil.setStatusBarColor(getWindow(), ContextCompat.getColor(this, R.color.core_ultramarine));
WindowUtil.clearLightStatusBar(getWindow()); WindowUtil.clearLightStatusBar(getWindow());
} }

Wyświetl plik

@ -87,6 +87,7 @@ import org.thoughtcrime.securesms.util.IdentityUtil;
import org.thoughtcrime.securesms.util.TextSecurePreferences; import org.thoughtcrime.securesms.util.TextSecurePreferences;
import org.thoughtcrime.securesms.util.Util; import org.thoughtcrime.securesms.util.Util;
import org.thoughtcrime.securesms.util.ViewUtil; import org.thoughtcrime.securesms.util.ViewUtil;
import org.thoughtcrime.securesms.util.WindowUtil;
import org.whispersystems.libsignal.IdentityKey; import org.whispersystems.libsignal.IdentityKey;
import org.whispersystems.libsignal.fingerprint.Fingerprint; import org.whispersystems.libsignal.fingerprint.Fingerprint;
import org.whispersystems.libsignal.fingerprint.FingerprintParsingException; import org.whispersystems.libsignal.fingerprint.FingerprintParsingException;
@ -228,9 +229,7 @@ public class VerifyIdentityActivity extends PassphraseRequiredActivity implement
private void setActionBarNotificationBarColor(MaterialColor color) { private void setActionBarNotificationBarColor(MaterialColor color) {
getSupportActionBar().setBackgroundDrawable(new ColorDrawable(color.toActionBarColor(this))); getSupportActionBar().setBackgroundDrawable(new ColorDrawable(color.toActionBarColor(this)));
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { WindowUtil.setStatusBarColor(getWindow(), color.toStatusBarColor(this));
getWindow().setStatusBarColor(color.toStatusBarColor(this));
}
} }
public static class VerifyDisplayFragment extends Fragment implements CompoundButton.OnCheckedChangeListener { public static class VerifyDisplayFragment extends Fragment implements CompoundButton.OnCheckedChangeListener {

Wyświetl plik

@ -35,6 +35,7 @@ import org.thoughtcrime.securesms.util.CommunicationActions;
import org.thoughtcrime.securesms.util.DynamicLanguage; 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.WindowUtil;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
@ -119,9 +120,7 @@ public class SharedContactDetailsActivity extends PassphraseRequiredActivity {
getSupportActionBar().setTitle(""); getSupportActionBar().setTitle("");
toolbar.setNavigationOnClickListener(v -> onBackPressed()); toolbar.setNavigationOnClickListener(v -> onBackPressed());
if (Build.VERSION.SDK_INT >= 21) { WindowUtil.setStatusBarColor(getWindow(), ContextCompat.getColor(this, R.color.shared_contact_details_titlebar));
getWindow().setStatusBarColor(ContextCompat.getColor(this, R.color.shared_contact_details_titlebar));
}
} }
private void initViews() { private void initViews() {

Wyświetl plik

@ -258,6 +258,7 @@ import org.thoughtcrime.securesms.util.TextSecurePreferences;
import org.thoughtcrime.securesms.util.TextSecurePreferences.MediaKeyboardMode; import org.thoughtcrime.securesms.util.TextSecurePreferences.MediaKeyboardMode;
import org.thoughtcrime.securesms.util.Util; import org.thoughtcrime.securesms.util.Util;
import org.thoughtcrime.securesms.util.ViewUtil; import org.thoughtcrime.securesms.util.ViewUtil;
import org.thoughtcrime.securesms.util.WindowUtil;
import org.thoughtcrime.securesms.util.concurrent.AssertedSuccessListener; import org.thoughtcrime.securesms.util.concurrent.AssertedSuccessListener;
import org.thoughtcrime.securesms.util.concurrent.ListenableFuture; import org.thoughtcrime.securesms.util.concurrent.ListenableFuture;
import org.thoughtcrime.securesms.util.concurrent.SettableFuture; import org.thoughtcrime.securesms.util.concurrent.SettableFuture;
@ -2368,7 +2369,7 @@ public class ConversationActivity extends PassphraseRequiredActivity
ActionBar supportActionBar = getSupportActionBar(); ActionBar supportActionBar = getSupportActionBar();
if (supportActionBar == null) throw new AssertionError(); if (supportActionBar == null) throw new AssertionError();
supportActionBar.setBackgroundDrawable(new ColorDrawable(color.toActionBarColor(this))); supportActionBar.setBackgroundDrawable(new ColorDrawable(color.toActionBarColor(this)));
setStatusBarColor(color.toStatusBarColor(this)); WindowUtil.setStatusBarColor(getWindow(), color.toStatusBarColor(this));
} }
private void setBlockedUserState(Recipient recipient, boolean isSecureText, boolean isDefaultSms) { private void setBlockedUserState(Recipient recipient, boolean isSecureText, boolean isDefaultSms) {

Wyświetl plik

@ -1523,7 +1523,7 @@ public class ConversationFragment extends LoggingFragment {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
Window window = getActivity().getWindow(); Window window = getActivity().getWindow();
statusBarColor = window.getStatusBarColor(); statusBarColor = window.getStatusBarColor();
window.setStatusBarColor(getResources().getColor(R.color.action_mode_status_bar)); WindowUtil.setStatusBarColor(window, getResources().getColor(R.color.action_mode_status_bar));
} }
if (!ThemeUtil.isDarkTheme(getContext())) { if (!ThemeUtil.isDarkTheme(getContext())) {
@ -1547,7 +1547,7 @@ public class ConversationFragment extends LoggingFragment {
list.getAdapter().notifyDataSetChanged(); list.getAdapter().notifyDataSetChanged();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
getActivity().getWindow().setStatusBarColor(statusBarColor); WindowUtil.setStatusBarColor(requireActivity().getWindow(), statusBarColor);
} }
WindowUtil.clearLightStatusBar(getActivity().getWindow()); WindowUtil.clearLightStatusBar(getActivity().getWindow());

Wyświetl plik

@ -201,7 +201,7 @@ public final class ConversationReactionOverlay extends RelativeLayout {
if (Build.VERSION.SDK_INT >= 21) { if (Build.VERSION.SDK_INT >= 21) {
this.activity = activity; this.activity = activity;
originalStatusBarColor = activity.getWindow().getStatusBarColor(); originalStatusBarColor = activity.getWindow().getStatusBarColor();
activity.getWindow().setStatusBarColor(ContextCompat.getColor(getContext(), R.color.signal_background_secondary)); WindowUtil.setStatusBarColor(activity.getWindow(), ContextCompat.getColor(getContext(), R.color.action_mode_status_bar));
if (!ThemeUtil.isDarkTheme(getContext())) { if (!ThemeUtil.isDarkTheme(getContext())) {
WindowUtil.setLightStatusBar(activity.getWindow()); WindowUtil.setLightStatusBar(activity.getWindow());
@ -243,7 +243,7 @@ public final class ConversationReactionOverlay extends RelativeLayout {
hideAnimatorSet.start(); hideAnimatorSet.start();
if (Build.VERSION.SDK_INT >= 21 && activity != null) { if (Build.VERSION.SDK_INT >= 21 && activity != null) {
activity.getWindow().setStatusBarColor(originalStatusBarColor); WindowUtil.setStatusBarColor(activity.getWindow(), originalStatusBarColor);
WindowUtil.clearLightStatusBar(activity.getWindow()); WindowUtil.clearLightStatusBar(activity.getWindow());
activity = null; activity = null;
} }

Wyświetl plik

@ -124,6 +124,7 @@ import org.thoughtcrime.securesms.util.StickyHeaderDecoration;
import org.thoughtcrime.securesms.util.TextSecurePreferences; import org.thoughtcrime.securesms.util.TextSecurePreferences;
import org.thoughtcrime.securesms.util.Util; import org.thoughtcrime.securesms.util.Util;
import org.thoughtcrime.securesms.util.ViewUtil; import org.thoughtcrime.securesms.util.ViewUtil;
import org.thoughtcrime.securesms.util.WindowUtil;
import org.thoughtcrime.securesms.util.concurrent.SignalExecutors; import org.thoughtcrime.securesms.util.concurrent.SignalExecutors;
import org.thoughtcrime.securesms.util.concurrent.SimpleTask; import org.thoughtcrime.securesms.util.concurrent.SimpleTask;
import org.thoughtcrime.securesms.util.task.SnackbarAsyncTask; import org.thoughtcrime.securesms.util.task.SnackbarAsyncTask;
@ -888,9 +889,7 @@ public class ConversationListFragment extends MainFragment implements ActionMode
mode.setTitle("1"); mode.setTitle("1");
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { WindowUtil.setStatusBarColor(requireActivity().getWindow(), getResources().getColor(R.color.action_mode_status_bar));
getActivity().getWindow().setStatusBarColor(getResources().getColor(R.color.action_mode_status_bar));
}
return true; return true;
} }
@ -922,7 +921,7 @@ public class ConversationListFragment extends MainFragment implements ActionMode
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
TypedArray color = getActivity().getTheme().obtainStyledAttributes(new int[] {android.R.attr.statusBarColor}); TypedArray color = getActivity().getTheme().obtainStyledAttributes(new int[] {android.R.attr.statusBarColor});
getActivity().getWindow().setStatusBarColor(color.getColor(0, Color.BLACK)); WindowUtil.setStatusBarColor(getActivity().getWindow(), color.getColor(0, Color.BLACK));
color.recycle(); color.recycle();
} }

Wyświetl plik

@ -18,6 +18,7 @@ import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentPagerAdapter; 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.Toast; import android.widget.Toast;
@ -30,6 +31,7 @@ import org.thoughtcrime.securesms.util.DynamicLanguage;
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;
import org.thoughtcrime.securesms.util.WindowUtil;
import java.io.IOException; import java.io.IOException;
import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutionException;
@ -80,7 +82,7 @@ public class GiphyActivity extends PassphraseRequiredActivity
final int conversationColor = getConversationColor(); final int conversationColor = getConversationColor();
toolbar.setBackgroundColor(conversationColor); toolbar.setBackgroundColor(conversationColor);
setStatusBarColor(conversationColor); WindowUtil.setStatusBarColor(getWindow(), conversationColor);
setSupportActionBar(toolbar); setSupportActionBar(toolbar);

Wyświetl plik

@ -36,6 +36,7 @@ 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.WindowUtil;
import org.thoughtcrime.securesms.util.views.Stub; import org.thoughtcrime.securesms.util.views.Stub;
import static org.thoughtcrime.securesms.util.ThemeUtil.isDarkTheme; import static org.thoughtcrime.securesms.util.ThemeUtil.isDarkTheme;
@ -110,10 +111,7 @@ public class LongMessageActivity extends PassphraseRequiredActivity {
private void updateActionBarColor(@NonNull MaterialColor color) { private void updateActionBarColor(@NonNull MaterialColor color) {
getSupportActionBar().setBackgroundDrawable(new ColorDrawable(color.toActionBarColor(this))); getSupportActionBar().setBackgroundDrawable(new ColorDrawable(color.toActionBarColor(this)));
WindowUtil.setStatusBarColor(getWindow(), color.toStatusBarColor(this));
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
getWindow().setStatusBarColor(color.toStatusBarColor(this));
}
} }
private void initViewModel(long messageId, boolean isMms) { private void initViewModel(long messageId, boolean isMms) {

Wyświetl plik

@ -42,6 +42,7 @@ import org.thoughtcrime.securesms.mms.GlideApp;
import org.thoughtcrime.securesms.mms.PartAuthority; import org.thoughtcrime.securesms.mms.PartAuthority;
import org.thoughtcrime.securesms.util.MediaUtil; import org.thoughtcrime.securesms.util.MediaUtil;
import org.thoughtcrime.securesms.util.Util; import org.thoughtcrime.securesms.util.Util;
import org.thoughtcrime.securesms.util.WindowUtil;
public final class MediaOverviewPageFragment extends Fragment public final class MediaOverviewPageFragment extends Fragment
implements MediaGalleryAllAdapter.ItemClickListener, implements MediaGalleryAllAdapter.ItemClickListener,
@ -352,7 +353,7 @@ public final class MediaOverviewPageFragment extends Fragment
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
Window window = requireActivity().getWindow(); Window window = requireActivity().getWindow();
originalStatusBarColor = window.getStatusBarColor(); originalStatusBarColor = window.getStatusBarColor();
window.setStatusBarColor(getResources().getColor(R.color.action_mode_status_bar)); WindowUtil.setStatusBarColor(requireActivity().getWindow(), getResources().getColor(R.color.action_mode_status_bar));
} }
return true; return true;
} }
@ -390,9 +391,7 @@ public final class MediaOverviewPageFragment extends Fragment
((MediaOverviewActivity) activity).onExitMultiSelect(); ((MediaOverviewActivity) activity).onExitMultiSelect();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { WindowUtil.setStatusBarColor(requireActivity().getWindow(), originalStatusBarColor);
activity.getWindow().setStatusBarColor(originalStatusBarColor);
}
} }
} }

Wyświetl plik

@ -23,6 +23,7 @@ import org.thoughtcrime.securesms.mms.GlideRequests;
import org.thoughtcrime.securesms.recipients.RecipientId; import org.thoughtcrime.securesms.recipients.RecipientId;
import org.thoughtcrime.securesms.util.DynamicDarkActionBarTheme; import org.thoughtcrime.securesms.util.DynamicDarkActionBarTheme;
import org.thoughtcrime.securesms.util.DynamicTheme; import org.thoughtcrime.securesms.util.DynamicTheme;
import org.thoughtcrime.securesms.util.WindowUtil;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
@ -124,9 +125,7 @@ public final class MessageDetailsActivity extends PassphraseRequiredActivity {
assert getSupportActionBar() != null; assert getSupportActionBar() != null;
getSupportActionBar().setBackgroundDrawable(new ColorDrawable(color.toActionBarColor(this))); getSupportActionBar().setBackgroundDrawable(new ColorDrawable(color.toActionBarColor(this)));
if (Build.VERSION.SDK_INT >= 21) { WindowUtil.setStatusBarColor(getWindow(), color.toStatusBarColor(this));
getWindow().setStatusBarColor(color.toStatusBarColor(this));
}
} }
private List<MessageDetailsViewState<?>> convertToRows(MessageDetails details) { private List<MessageDetailsViewState<?>> convertToRows(MessageDetails details) {

Wyświetl plik

@ -5,6 +5,7 @@ import android.os.Build;
import android.view.View; import android.view.View;
import android.view.Window; import android.view.Window;
import androidx.annotation.ColorInt;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
public final class WindowUtil { public final class WindowUtil {
@ -54,6 +55,12 @@ public final class WindowUtil {
setSystemUiFlags(window, View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR); setSystemUiFlags(window, View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
} }
public static void setStatusBarColor(@NonNull Window window, @ColorInt int color) {
if (Build.VERSION.SDK_INT < 21) return;
window.setStatusBarColor(color);
}
private static void clearSystemUiFlags(@NonNull Window window, int flags) { private static void clearSystemUiFlags(@NonNull Window window, int flags) {
View view = window.getDecorView(); View view = window.getDecorView();
int uiFlags = view.getSystemUiVisibility(); int uiFlags = view.getSystemUiVisibility();

Wyświetl plik

@ -3,15 +3,18 @@
<item android:id="@+id/save" <item android:id="@+id/save"
android:title="@string/save" android:title="@string/save"
android:icon="@drawable/ic_download_filled_white_24" android:icon="@drawable/ic_download_filled_white_24"
app:iconTint="@color/signal_icon_tint_primary"
app:showAsAction="always"/> app:showAsAction="always"/>
<item android:id="@+id/delete" <item android:id="@+id/delete"
android:title="@string/delete" android:title="@string/delete"
android:icon="@drawable/ic_trash_24" android:icon="@drawable/ic_trash_24"
app:iconTint="@color/signal_icon_tint_primary"
app:showAsAction="always"/> app:showAsAction="always"/>
<item android:id="@+id/select_all" <item android:id="@+id/select_all"
android:title="@string/MediaOverviewActivity_Select_all" android:title="@string/MediaOverviewActivity_Select_all"
android:icon="@drawable/ic_select_all_white_24dp" android:icon="@drawable/ic_select_all_white_24dp"
app:iconTint="@color/signal_icon_tint_primary"
app:showAsAction="always"/> app:showAsAction="always"/>
</menu> </menu>

Wyświetl plik

@ -22,7 +22,7 @@
<style name="TextSecure.LightRegistrationTheme" parent="TextSecure.LightNoActionBar"> <style name="TextSecure.LightRegistrationTheme" parent="TextSecure.LightNoActionBar">
<item name="android:statusBarColor">@color/white</item> <item name="android:statusBarColor">@color/core_grey_60</item>
<item name="android:navigationBarColor">@color/core_black</item> <item name="android:navigationBarColor">@color/core_black</item>
</style> </style>

Wyświetl plik

@ -21,7 +21,7 @@
<color name="conversation_compose_divider">#32000000</color> <color name="conversation_compose_divider">#32000000</color>
<color name="action_mode_status_bar">@color/grey_50</color> <color name="action_mode_status_bar">@color/core_grey_60</color>
<color name="touch_highlight">#400099cc</color> <color name="touch_highlight">#400099cc</color>
<color name="device_link_item_background_light">#ffffffff</color> <color name="device_link_item_background_light">#ffffffff</color>