TripsOverviewActivity: Switch back to dark mode by default for up to Android 9 devices.

This commit is contained in:
Andreas Schildbach 2021-02-07 17:04:22 +01:00
parent 36c419a5df
commit d10b197514
10 changed files with 65 additions and 14 deletions

View file

@ -486,7 +486,8 @@
<activity <activity
android:name=".directions.TripsOverviewActivity" android:name=".directions.TripsOverviewActivity"
android:configChanges="keyboard|keyboardHidden" android:configChanges="keyboard|keyboardHidden"
android:taskAffinity="de.schildbach.oeffi.directions" /> android:taskAffinity="de.schildbach.oeffi.directions"
android:theme="@style/My.Theme.DarkDefault" />
<activity <activity
android:name=".directions.TripDetailsActivity" android:name=".directions.TripDetailsActivity"

View file

@ -3,11 +3,17 @@
<!-- foreground --> <!-- foreground -->
<color name="fg_significant_darkdefault">#000000</color> <color name="fg_significant_darkdefault">#000000</color>
<color name="fg_significant_inverse_darkdefault">#ffffff</color>
<color name="fg_less_significant_darkdefault">#777777</color> <color name="fg_less_significant_darkdefault">#777777</color>
<color name="fg_insignificant_darkdefault">#bbbbbb</color>
<color name="fg_highlighted_darkdefault">#dd9055</color> <color name="fg_highlighted_darkdefault">#dd9055</color>
<!-- background --> <!-- background -->
<color name="bg_level0_darkdefault">#f7f7f7</color> <color name="bg_level0_darkdefault">#f7f7f7</color>
<color name="bg_action_bar_directions_darkdefault">#227722</color>
<color name="bg_individual_darkdefault">#cccccc</color>
<color name="bg_delayed_darkdefault">#cccccc</color>
<color name="bg_current_time_darkdefault">#cc9900</color>
<color name="bg_position_darkdefault">#757575</color> <color name="bg_position_darkdefault">#757575</color>
<color name="bg_highlighted_darkdefault">#ffaaaa</color> <color name="bg_highlighted_darkdefault">#ffaaaa</color>

View file

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="trips_overview_stroke_width_darkdefault">2dp</dimen>
</resources>

View file

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<resources
xmlns:android="http://schemas.android.com/apk/res/android">
<style name="My.Theme.DarkDefault" parent="@android:style/Theme.Material.Light.NoActionBar">
<item name="android:windowBackground">@color/bg_level0_darkdefault</item>
<item name="android:statusBarColor">@color/bg_status_bar</item>
<item name="android:navigationBarColor">@color/bg_navigation_bar</item>
<item name="android:textViewStyle">@style/My.Widget.TextView.DarkDefault</item>
<item name="android:imageButtonStyle">@style/My.Widget.ImageButton</item>
</style>
<style name="My.Widget.TextView.DarkDefault" parent="@android:style/Widget.TextView">
<item name="android:textColor">@color/fg_significant_darkdefault</item>
<item name="android:textSize">@dimen/font_size_normal</item>
</style>
</resources>

View file

@ -3,11 +3,13 @@
<!-- foreground --> <!-- foreground -->
<color name="fg_significant">#000000</color> <color name="fg_significant">#000000</color>
<color name="fg_significant_inverse">#ffffff</color>
<color name="fg_significant_darkdefault">#ffffff</color> <color name="fg_significant_darkdefault">#ffffff</color>
<color name="fg_significant_inverse">#ffffff</color>
<color name="fg_significant_inverse_darkdefault">#000000</color>
<color name="fg_less_significant">#777777</color> <color name="fg_less_significant">#777777</color>
<color name="fg_less_significant_darkdefault">#aaaaaa</color> <color name="fg_less_significant_darkdefault">#aaaaaa</color>
<color name="fg_insignificant">#bbbbbb</color> <color name="fg_insignificant">#bbbbbb</color>
<color name="fg_insignificant_darkdefault">#888888</color>
<color name="fg_highlighted">#dd9055</color> <color name="fg_highlighted">#dd9055</color>
<color name="fg_highlighted_darkdefault">#ff9966</color> <color name="fg_highlighted_darkdefault">#ff9966</color>
<color name="fg_arrow">#aa0000</color> <color name="fg_arrow">#aa0000</color>
@ -23,11 +25,15 @@
<color name="bg_action_bar">#555555</color> <color name="bg_action_bar">#555555</color>
<color name="bg_action_bar_stations">#777700</color> <color name="bg_action_bar_stations">#777700</color>
<color name="bg_action_bar_directions">#227722</color> <color name="bg_action_bar_directions">#227722</color>
<color name="bg_action_bar_directions_darkdefault">#114411</color>
<color name="bg_action_bar_appendix">#cccccc</color> <color name="bg_action_bar_appendix">#cccccc</color>
<color name="bg_selected_entry">#ffcfffaf</color> <color name="bg_selected_entry">#ffcfffaf</color>
<color name="bg_individual">#cccccc</color> <color name="bg_individual">#cccccc</color>
<color name="bg_individual_darkdefault">#444444</color>
<color name="bg_delayed">#cccccc</color> <color name="bg_delayed">#cccccc</color>
<color name="bg_delayed_darkdefault">#444444</color>
<color name="bg_current_time">#cc9900</color> <color name="bg_current_time">#cc9900</color>
<color name="bg_current_time_darkdefault">#ffff00</color>
<color name="bg_position">#757575</color> <color name="bg_position">#757575</color>
<color name="bg_position_darkdefault">#bbbbbb</color> <color name="bg_position_darkdefault">#bbbbbb</color>
<color name="bg_highlighted_darkdefault">#ff4444</color> <color name="bg_highlighted_darkdefault">#ff4444</color>

View file

@ -27,6 +27,7 @@
<dimen name="directions_form_location_min_height">48dp</dimen> <dimen name="directions_form_location_min_height">48dp</dimen>
<dimen name="directions_form_location_divider_padding">32dp</dimen> <dimen name="directions_form_location_divider_padding">32dp</dimen>
<dimen name="trips_overview_stroke_width">2dp</dimen> <dimen name="trips_overview_stroke_width">2dp</dimen>
<dimen name="trips_overview_stroke_width_darkdefault">1dp</dimen>
<dimen name="trips_overview_entry_width">72dp</dimen> <dimen name="trips_overview_entry_width">72dp</dimen>
<item name="trips_overview_entry_public_box_fraction" type="fraction">80%</item> <item name="trips_overview_entry_public_box_fraction" type="fraction">80%</item>

View file

@ -16,6 +16,14 @@
<item name="android:popupMenuStyle">@style/My.Widget.PopupMenu</item> <item name="android:popupMenuStyle">@style/My.Widget.PopupMenu</item>
</style> </style>
<style name="My.Theme.DarkDefault" parent="@android:style/Theme.Material.NoActionBar">
<item name="android:windowBackground">@color/bg_level0_darkdefault</item>
<item name="android:statusBarColor">@color/bg_status_bar</item>
<item name="android:navigationBarColor">@color/bg_navigation_bar</item>
<item name="android:textViewStyle">@style/My.Widget.TextView.DarkDefault</item>
<item name="android:imageButtonStyle">@style/My.Widget.ImageButton</item>
</style>
<style name="My.Theme.Fullscreen" parent="@android:style/Theme.Material.Light.NoActionBar.Fullscreen"> <style name="My.Theme.Fullscreen" parent="@android:style/Theme.Material.Light.NoActionBar.Fullscreen">
<item name="android:windowBackground">@android:color/black</item> <item name="android:windowBackground">@android:color/black</item>
<item name="android:windowLayoutInDisplayCutoutMode" tools:targetApi="27">shortEdges</item> <item name="android:windowLayoutInDisplayCutoutMode" tools:targetApi="27">shortEdges</item>

View file

@ -79,11 +79,11 @@ public class TripsGallery extends Gallery {
paddingHorizontalCram = res.getDimensionPixelSize(R.dimen.text_padding_horizontal_cram); paddingHorizontalCram = res.getDimensionPixelSize(R.dimen.text_padding_horizontal_cram);
currentTimeLabelPaddingHorizontal = res.getDimensionPixelSize(R.dimen.text_padding_horizontal); currentTimeLabelPaddingHorizontal = res.getDimensionPixelSize(R.dimen.text_padding_horizontal);
currentTimeLabelPaddingVertical = res.getDimensionPixelSize(R.dimen.text_padding_vertical); currentTimeLabelPaddingVertical = res.getDimensionPixelSize(R.dimen.text_padding_vertical);
final float strokeWidth = res.getDimension(R.dimen.trips_overview_stroke_width); final float strokeWidth = res.getDimension(R.dimen.trips_overview_stroke_width_darkdefault);
final int colorSignificant = res.getColor(R.color.fg_significant); final int colorSignificant = res.getColor(R.color.fg_significant_darkdefault);
final int colorInsignificant = res.getColor(R.color.fg_insignificant); final int colorInsignificant = res.getColor(R.color.fg_insignificant_darkdefault);
final int colorSignificantInverse = res.getColor(R.color.fg_significant_inverse); final int colorSignificantInverse = res.getColor(R.color.fg_significant_inverse_darkdefault);
final int colorCurrentTime = res.getColor(R.color.bg_current_time); final int colorCurrentTime = res.getColor(R.color.bg_current_time_darkdefault);
gridPaint.setColor(colorInsignificant); gridPaint.setColor(colorInsignificant);
gridPaint.setStyle(Paint.Style.STROKE); gridPaint.setStyle(Paint.Style.STROKE);

View file

@ -34,6 +34,7 @@ import android.graphics.Shader;
import android.graphics.Shader.TileMode; import android.graphics.Shader.TileMode;
import android.graphics.Typeface; import android.graphics.Typeface;
import android.graphics.drawable.Drawable; import android.graphics.drawable.Drawable;
import android.os.Build;
import android.text.format.DateFormat; import android.text.format.DateFormat;
import android.text.format.DateUtils; import android.text.format.DateUtils;
import android.view.View; import android.view.View;
@ -88,14 +89,18 @@ public final class TripsGalleryAdapter extends BaseAdapter {
public TripsGalleryAdapter(final Context context) { public TripsGalleryAdapter(final Context context) {
this.context = context; this.context = context;
final Resources res = context.getResources(); final Resources res = context.getResources();
this.darkMode = (res.getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK) == Configuration.UI_MODE_NIGHT_YES; if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q)
this.darkMode =
(res.getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK) == Configuration.UI_MODE_NIGHT_YES;
else
this.darkMode = true;
final float strokeWidth = res.getDimension(R.dimen.trips_overview_entry_box_stroke_width); final float strokeWidth = res.getDimension(R.dimen.trips_overview_entry_box_stroke_width);
final int colorSignificant = res.getColor(R.color.fg_significant); final int colorSignificant = res.getColor(R.color.fg_significant_darkdefault);
final int colorLessSignificant = res.getColor(R.color.fg_less_significant); final int colorLessSignificant = res.getColor(R.color.fg_less_significant_darkdefault);
final int colorIndividual = res.getColor(R.color.bg_individual); final int colorIndividual = res.getColor(R.color.bg_individual_darkdefault);
colorSignificantInverse = res.getColor(R.color.fg_significant_inverse); colorSignificantInverse = res.getColor(R.color.fg_significant_inverse_darkdefault);
colorDelayed = res.getColor(R.color.bg_delayed); colorDelayed = res.getColor(R.color.bg_delayed_darkdefault);
tripWidth = res.getDimensionPixelSize(R.dimen.trips_overview_entry_width); tripWidth = res.getDimensionPixelSize(R.dimen.trips_overview_entry_width);

View file

@ -137,7 +137,7 @@ public class TripsOverviewActivity extends OeffiActivity {
}); });
final MyActionBar actionBar = getMyActionBar(); final MyActionBar actionBar = getMyActionBar();
setPrimaryColor(R.color.bg_action_bar_directions); setPrimaryColor(R.color.bg_action_bar_directions_darkdefault);
actionBar.setBack(v -> finish()); actionBar.setBack(v -> finish());
actionBar.setCustomTitles(R.layout.directions_trip_overview_custom_title); actionBar.setCustomTitles(R.layout.directions_trip_overview_custom_title);
actionBar.addProgressButton().setOnClickListener(v -> handler.post(checkMoreRunnable)); actionBar.addProgressButton().setOnClickListener(v -> handler.post(checkMoreRunnable));