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.util.TextSecurePreferences;
import org.thoughtcrime.securesms.util.WindowUtil;
import org.thoughtcrime.securesms.util.dynamiclanguage.DynamicLanguageContextWrapper;
import java.util.Objects;
@ -73,13 +74,6 @@ public abstract class BaseActivity extends AppCompatActivity {
ActivityCompat.startActivity(this, intent, bundle);
}
@TargetApi(21)
protected void setStatusBarColor(int color) {
if (Build.VERSION.SDK_INT >= 21) {
getWindow().setStatusBarColor(color);
}
}
@Override
protected void attachBaseContext(Context 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));
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));
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));
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());
}

Wyświetl plik

@ -87,6 +87,7 @@ import org.thoughtcrime.securesms.util.IdentityUtil;
import org.thoughtcrime.securesms.util.TextSecurePreferences;
import org.thoughtcrime.securesms.util.Util;
import org.thoughtcrime.securesms.util.ViewUtil;
import org.thoughtcrime.securesms.util.WindowUtil;
import org.whispersystems.libsignal.IdentityKey;
import org.whispersystems.libsignal.fingerprint.Fingerprint;
import org.whispersystems.libsignal.fingerprint.FingerprintParsingException;
@ -228,9 +229,7 @@ public class VerifyIdentityActivity extends PassphraseRequiredActivity implement
private void setActionBarNotificationBarColor(MaterialColor color) {
getSupportActionBar().setBackgroundDrawable(new ColorDrawable(color.toActionBarColor(this)));
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
getWindow().setStatusBarColor(color.toStatusBarColor(this));
}
WindowUtil.setStatusBarColor(getWindow(), color.toStatusBarColor(this));
}
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.DynamicNoActionBarTheme;
import org.thoughtcrime.securesms.util.DynamicTheme;
import org.thoughtcrime.securesms.util.WindowUtil;
import java.util.ArrayList;
import java.util.Collections;
@ -119,9 +120,7 @@ public class SharedContactDetailsActivity extends PassphraseRequiredActivity {
getSupportActionBar().setTitle("");
toolbar.setNavigationOnClickListener(v -> onBackPressed());
if (Build.VERSION.SDK_INT >= 21) {
getWindow().setStatusBarColor(ContextCompat.getColor(this, R.color.shared_contact_details_titlebar));
}
WindowUtil.setStatusBarColor(getWindow(), ContextCompat.getColor(this, R.color.shared_contact_details_titlebar));
}
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.Util;
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.ListenableFuture;
import org.thoughtcrime.securesms.util.concurrent.SettableFuture;
@ -2368,7 +2369,7 @@ public class ConversationActivity extends PassphraseRequiredActivity
ActionBar supportActionBar = getSupportActionBar();
if (supportActionBar == null) throw new AssertionError();
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) {

Wyświetl plik

@ -1523,7 +1523,7 @@ public class ConversationFragment extends LoggingFragment {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
Window window = getActivity().getWindow();
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())) {
@ -1547,7 +1547,7 @@ public class ConversationFragment extends LoggingFragment {
list.getAdapter().notifyDataSetChanged();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
getActivity().getWindow().setStatusBarColor(statusBarColor);
WindowUtil.setStatusBarColor(requireActivity().getWindow(), statusBarColor);
}
WindowUtil.clearLightStatusBar(getActivity().getWindow());

Wyświetl plik

@ -201,7 +201,7 @@ public final class ConversationReactionOverlay extends RelativeLayout {
if (Build.VERSION.SDK_INT >= 21) {
this.activity = activity;
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())) {
WindowUtil.setLightStatusBar(activity.getWindow());
@ -243,7 +243,7 @@ public final class ConversationReactionOverlay extends RelativeLayout {
hideAnimatorSet.start();
if (Build.VERSION.SDK_INT >= 21 && activity != null) {
activity.getWindow().setStatusBarColor(originalStatusBarColor);
WindowUtil.setStatusBarColor(activity.getWindow(), originalStatusBarColor);
WindowUtil.clearLightStatusBar(activity.getWindow());
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.Util;
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.SimpleTask;
import org.thoughtcrime.securesms.util.task.SnackbarAsyncTask;
@ -888,9 +889,7 @@ public class ConversationListFragment extends MainFragment implements ActionMode
mode.setTitle("1");
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
getActivity().getWindow().setStatusBarColor(getResources().getColor(R.color.action_mode_status_bar));
}
WindowUtil.setStatusBarColor(requireActivity().getWindow(), getResources().getColor(R.color.action_mode_status_bar));
return true;
}
@ -922,7 +921,7 @@ public class ConversationListFragment extends MainFragment implements ActionMode
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
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();
}

Wyświetl plik

@ -18,6 +18,7 @@ import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentPagerAdapter;
import androidx.viewpager.widget.ViewPager;
import org.thoughtcrime.securesms.logging.Log;
import android.view.View;
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.MediaUtil;
import org.thoughtcrime.securesms.util.ViewUtil;
import org.thoughtcrime.securesms.util.WindowUtil;
import java.io.IOException;
import java.util.concurrent.ExecutionException;
@ -80,7 +82,7 @@ public class GiphyActivity extends PassphraseRequiredActivity
final int conversationColor = getConversationColor();
toolbar.setBackgroundColor(conversationColor);
setStatusBarColor(conversationColor);
WindowUtil.setStatusBarColor(getWindow(), conversationColor);
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.TextSecurePreferences;
import org.thoughtcrime.securesms.util.ThemeUtil;
import org.thoughtcrime.securesms.util.WindowUtil;
import org.thoughtcrime.securesms.util.views.Stub;
import static org.thoughtcrime.securesms.util.ThemeUtil.isDarkTheme;
@ -110,10 +111,7 @@ public class LongMessageActivity extends PassphraseRequiredActivity {
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));
}
WindowUtil.setStatusBarColor(getWindow(), color.toStatusBarColor(this));
}
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.util.MediaUtil;
import org.thoughtcrime.securesms.util.Util;
import org.thoughtcrime.securesms.util.WindowUtil;
public final class MediaOverviewPageFragment extends Fragment
implements MediaGalleryAllAdapter.ItemClickListener,
@ -352,7 +353,7 @@ public final class MediaOverviewPageFragment extends Fragment
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
Window window = requireActivity().getWindow();
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;
}
@ -390,9 +391,7 @@ public final class MediaOverviewPageFragment extends Fragment
((MediaOverviewActivity) activity).onExitMultiSelect();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
activity.getWindow().setStatusBarColor(originalStatusBarColor);
}
WindowUtil.setStatusBarColor(requireActivity().getWindow(), originalStatusBarColor);
}
}

Wyświetl plik

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

Wyświetl plik

@ -5,6 +5,7 @@ import android.os.Build;
import android.view.View;
import android.view.Window;
import androidx.annotation.ColorInt;
import androidx.annotation.NonNull;
public final class WindowUtil {
@ -54,6 +55,12 @@ public final class WindowUtil {
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) {
View view = window.getDecorView();
int uiFlags = view.getSystemUiVisibility();

Wyświetl plik

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

Wyświetl plik

@ -22,7 +22,7 @@
<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>
</style>

Wyświetl plik

@ -21,7 +21,7 @@
<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="device_link_item_background_light">#ffffffff</color>