Daynight theme for media preview & overview activities.

This commit is contained in:
Anton Chekulaev
2020-08-31 23:16:15 +10:00
parent 4da13f8541
commit b05350b5aa
20 changed files with 167 additions and 108 deletions

View File

@@ -25,21 +25,6 @@ import android.content.res.Resources;
import android.database.Cursor;
import android.os.Build;
import android.os.Bundle;
import androidx.annotation.NonNull;
import com.google.android.material.tabs.TabLayout;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentStatePagerAdapter;
import androidx.loader.app.LoaderManager;
import androidx.loader.content.Loader;
import androidx.viewpager.widget.ViewPager;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.view.ActionMode;
import androidx.recyclerview.widget.DividerItemDecoration;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import androidx.appcompat.widget.Toolbar;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
@@ -49,7 +34,23 @@ import android.view.Window;
import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.view.ActionMode;
import androidx.appcompat.widget.Toolbar;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentStatePagerAdapter;
import androidx.loader.app.LoaderManager;
import androidx.loader.content.Loader;
import androidx.recyclerview.widget.DividerItemDecoration;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import androidx.viewpager.widget.ViewPager;
import com.codewaves.stickyheadergrid.StickyHeaderGridLayoutManager;
import com.google.android.material.tabs.TabLayout;
import org.thoughtcrime.securesms.database.Address;
import org.thoughtcrime.securesms.database.CursorRecyclerViewAdapter;
@@ -62,8 +63,6 @@ import org.thoughtcrime.securesms.permissions.Permissions;
import org.thoughtcrime.securesms.recipients.Recipient;
import org.thoughtcrime.securesms.util.AttachmentUtil;
import org.thoughtcrime.securesms.util.DynamicLanguage;
import org.thoughtcrime.securesms.util.DynamicNoActionBarTheme;
import org.thoughtcrime.securesms.util.DynamicTheme;
import org.thoughtcrime.securesms.util.SaveAttachmentTask;
import org.thoughtcrime.securesms.util.StickyHeaderDecoration;
import org.thoughtcrime.securesms.util.Util;
@@ -87,7 +86,6 @@ public class MediaOverviewActivity extends PassphraseRequiredActionBarActivity {
public static final String ADDRESS_EXTRA = "address";
private final DynamicTheme dynamicTheme = new DynamicNoActionBarTheme();
private final DynamicLanguage dynamicLanguage = new DynamicLanguage();
private Toolbar toolbar;
@@ -97,14 +95,12 @@ public class MediaOverviewActivity extends PassphraseRequiredActionBarActivity {
@Override
protected void onPreCreate() {
dynamicTheme.onCreate(this);
dynamicLanguage.onCreate(this);
}
@Override
protected void onCreate(Bundle bundle, boolean ready) {
setContentView(R.layout.media_overview_activity);
getWindow().setNavigationBarColor(getResources().getColor(R.color.navigation_bar_background));
initializeResources();
initializeToolbar();
@@ -116,7 +112,6 @@ public class MediaOverviewActivity extends PassphraseRequiredActionBarActivity {
@Override
public void onResume() {
super.onResume();
dynamicTheme.onResume(this);
dynamicLanguage.onResume(this);
}

View File

@@ -19,6 +19,8 @@ package org.thoughtcrime.securesms;
import android.Manifest;
import android.annotation.SuppressLint;
import android.annotation.TargetApi;
import androidx.appcompat.widget.Toolbar;
import androidx.lifecycle.ViewModelProviders;
import android.content.Context;
import android.content.Intent;
@@ -150,7 +152,7 @@ public class MediaPreviewActivity extends PassphraseRequiredActionBarActivity im
@Override
public void onModified(Recipient recipient) {
Util.runOnMain(this::initializeActionBar);
Util.runOnMain(this::updateActionBar);
}
@Override
@@ -164,7 +166,7 @@ public class MediaPreviewActivity extends PassphraseRequiredActionBarActivity im
}
@SuppressWarnings("ConstantConditions")
private void initializeActionBar() {
private void updateActionBar() {
MediaItem mediaItem = getCurrentMediaItem();
if (mediaItem != null) {
@@ -222,6 +224,9 @@ public class MediaPreviewActivity extends PassphraseRequiredActionBarActivity im
caption = findViewById(R.id.media_preview_caption);
captionContainer = findViewById(R.id.media_preview_caption_container);
playbackControlsContainer = findViewById(R.id.media_preview_playback_controls_container);
setSupportActionBar(findViewById(R.id.toolbar));
}
private void initializeResources() {
@@ -476,7 +481,7 @@ public class MediaPreviewActivity extends PassphraseRequiredActionBarActivity im
MediaItem item = adapter.getMediaItemFor(position);
if (item.recipient != null) item.recipient.addListener(MediaPreviewActivity.this);
viewModel.setActiveAlbumRailItem(MediaPreviewActivity.this, position);
initializeActionBar();
updateActionBar();
}
}

View File

@@ -5,6 +5,10 @@ import android.content.Intent;
import network.loki.messenger.R;
/**
* @deprecated Use conventional DayNight app themes to support dark/light modes.
*/
@Deprecated
public class DynamicTheme {
public static final String DARK = "dark";