mirror of https://github.com/tuskyapp/Tusky.git
30 changed files with 405 additions and 249 deletions
@ -0,0 +1,58 @@
|
||||
/* Copyright 2017 Andrew Dawson |
||||
* |
||||
* This file is part of Tusky. |
||||
* |
||||
* Tusky is free software: you can redistribute it and/or modify it under the terms of the GNU |
||||
* General Public License as published by the Free Software Foundation, either version 3 of the |
||||
* License, or (at your option) any later version. |
||||
* |
||||
* Tusky is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even |
||||
* the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General |
||||
* Public License for more details. |
||||
* |
||||
* You should have received a copy of the GNU General Public License along with Tusky. If not, see |
||||
* <http://www.gnu.org/licenses/>. */
|
||||
|
||||
package com.keylesspalace.tusky; |
||||
|
||||
import android.graphics.Color; |
||||
import android.graphics.PorterDuff; |
||||
import android.graphics.drawable.Drawable; |
||||
import android.os.Bundle; |
||||
import android.preference.PreferenceManager; |
||||
import android.support.annotation.Nullable; |
||||
import android.support.v7.app.AppCompatActivity; |
||||
import android.util.TypedValue; |
||||
import android.view.Menu; |
||||
|
||||
/* There isn't presently a way to globally change the theme of a whole application at runtime, just |
||||
* individual activities. So, each activity has to set its theme before any views are created. And |
||||
* the most expedient way to accomplish this was to put it in a base class and just have every |
||||
* activity extend from it. */ |
||||
public class BaseActivity extends AppCompatActivity { |
||||
@Override |
||||
protected void onCreate(@Nullable Bundle savedInstanceState) { |
||||
super.onCreate(savedInstanceState); |
||||
if (PreferenceManager.getDefaultSharedPreferences(this).getBoolean("lightTheme", false)) { |
||||
setTheme(R.style.AppTheme_Light); |
||||
} |
||||
} |
||||
|
||||
@Override |
||||
public boolean onCreateOptionsMenu(Menu menu) { |
||||
TypedValue value = new TypedValue(); |
||||
int color; |
||||
if (getTheme().resolveAttribute(R.attr.toolbar_icon_tint, value, true)) { |
||||
color = value.data; |
||||
} else { |
||||
color = Color.WHITE; |
||||
} |
||||
for (int i = 0; i < menu.size(); i++) { |
||||
Drawable icon = menu.getItem(i).getIcon(); |
||||
if (icon != null) { |
||||
icon.setColorFilter(color, PorterDuff.Mode.SRC_ATOP); |
||||
} |
||||
} |
||||
return super.onCreateOptionsMenu(menu); |
||||
} |
||||
} |
||||
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?> |
||||
<alpha xmlns:android="http://schemas.android.com/apk/res/android" |
||||
android:interpolator="@android:anim/linear_interpolator" |
||||
android:fromAlpha="0" |
||||
android:toAlpha="1" |
||||
android:duration="300" /> |
||||
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?> |
||||
<alpha xmlns:android="http://schemas.android.com/apk/res/android" |
||||
android:interpolator="@android:anim/linear_interpolator" |
||||
android:fromAlpha="1" |
||||
android:toAlpha="0" |
||||
android:duration="300" /> |
||||
@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?> |
||||
<selector |
||||
xmlns:android="http://schemas.android.com/apk/res/android" |
||||
xmlns:app="http://schemas.android.com/apk/res-auto"> |
||||
<item android:color="#BFAF00" app:state_marked="true" /> |
||||
<item android:color="#4F4F4F" /> |
||||
</selector> |
||||
@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?> |
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android"> |
||||
<item android:color="#8F8F8F" android:state_enabled="false" /> |
||||
<item android:color="#000000" /> |
||||
</selector> |
||||
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?> |
||||
<selector |
||||
xmlns:android="http://schemas.android.com/apk/res/android" |
||||
xmlns:app="http://schemas.android.com/apk/res-auto"> |
||||
<item android:color="#009F6F" app:state_marked="true" /> |
||||
<item android:color="#BFBFBF" android:state_enabled="false" /> |
||||
<item android:color="#4F4F4F" /> |
||||
</selector> |
||||
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?> |
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android" |
||||
android:shape="rectangle"> |
||||
<solid android:color="#ffafafaf" /> |
||||
<solid android:color="#ff4f575f" /> |
||||
<corners android:radius="2dp" /> |
||||
</shape> |
||||
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?> |
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android" |
||||
android:shape="rectangle"> |
||||
<solid android:color="#ffefefef" /> |
||||
<corners android:radius="2dp" /> |
||||
</shape> |
||||
@ -1,21 +1,58 @@
|
||||
<?xml version="1.0" encoding="utf-8"?> |
||||
<resources> |
||||
<color name="colorPrimary">#44A673</color> |
||||
<color name="colorPrimaryDark">#2C996E</color> |
||||
<color name="colorAccent">#3F8A65</color> |
||||
<color name="colorBackground">#3C4945</color> |
||||
<color name="windowBackground">#191E1E</color> |
||||
<!--These colors are not affected by themes.--> |
||||
<color name="splash_background">#4F4F4F</color> |
||||
<color name="view_video_background">#000000</color> |
||||
<!--Dark Theme Colors--> |
||||
<color name="color_primary_dark">#44A673</color> |
||||
<color name="color_primary_dark_dark">#2C996E</color> <!--Dark Dark--> |
||||
<color name="color_accent_dark">#3F8A65</color> |
||||
<color name="button_dark">#3F8A65</color> |
||||
<color name="color_background_dark">#3C4945</color> |
||||
<color name="window_background_dark">#191E1E</color> |
||||
<color name="edit_text_color_dark">#FFFFFF</color> |
||||
<color name="text_color_primary_dark">#FFFFFF</color> |
||||
<color name="text_color_secondary_dark">#FFFFFF</color> |
||||
<color name="text_color_tertiary_dark">#FFFFFF</color> |
||||
<color name="text_color_primary_inverse_dark">#000000</color> |
||||
<color name="text_color_secondary_inverse_dark">#000000</color> |
||||
<color name="text_color_tertiary_inverse_dark">#000000</color> |
||||
<color name="toolbar_background_dark">#44A673</color> |
||||
<color name="toolbar_icon_dark">#FFFFFF</color> |
||||
<color name="image_button_dark">#CFCFCF</color> |
||||
<color name="view_video_background">#000000</color> |
||||
<color name="sensitive_media_warning_background">#303030</color> |
||||
<color name="media_preview_unloaded_background">#2F2F2F</color> |
||||
<color name="compose_mention">#AFBFCF</color> |
||||
<color name="notification_content_faded">#9F9F9F</color> |
||||
<color name="notification_icon_tint">#CFCFCF</color> |
||||
<color name="sensitive_media_warning_background_dark">#303030</color> |
||||
<color name="media_preview_unloaded_background_dark">#2F2F2F</color> |
||||
<color name="status_text_secondary_dark">#A4B4BC</color> |
||||
<color name="status_divider_dark">#000000</color> |
||||
<color name="tab_page_margin_dark">#4C534B</color> |
||||
<color name="account_header_background_dark">#000000</color> |
||||
<color name="compose_mention_dark">#AFBFCF</color> |
||||
<color name="notification_content_faded_dark">#9F9F9F</color> |
||||
<color name="notification_icon_tint_dark">#CFCFCF</color> |
||||
<!--Light Theme Colors--> |
||||
<color name="color_primary_light">#44A673</color> |
||||
<color name="color_primary_dark_light">#2C996E</color> |
||||
<color name="color_accent_light">#3F8A65</color> |
||||
<color name="button_light">#79daa8</color> |
||||
<color name="color_background_light">#FFFFFF</color> |
||||
<color name="window_background_light">#FFFFFF</color> |
||||
<color name="edit_text_color_light">#000000</color> |
||||
<color name="text_color_primary_light">#000000</color> |
||||
<color name="text_color_secondary_light">#000000</color> |
||||
<color name="text_color_tertiary_light">#000000</color> |
||||
<color name="text_color_primary_inverse_light">#FFFFFF</color> |
||||
<color name="text_color_secondary_inverse_light">#FFFFFF</color> |
||||
<color name="text_color_tertiary_inverse_light">#FFFFFF</color> |
||||
<color name="toolbar_background_light">#f6f7f7</color> |
||||
<color name="toolbar_icon_light">#000000</color> |
||||
<color name="image_button_light">#2F2F2F</color> |
||||
<color name="sensitive_media_warning_background_light">#B0B0B0</color> |
||||
<color name="media_preview_unloaded_background_light">#CFCFCF</color> |
||||
<color name="status_text_secondary_light">#34444C</color> |
||||
<color name="status_divider_light">#CFCFCF</color> |
||||
<color name="tab_page_margin_light">#9F9F9F</color> |
||||
<color name="account_header_background_light">#EFEFEF</color> |
||||
<color name="compose_mention_light">#2F5F6F</color> |
||||
<color name="notification_content_faded_light">#7F7F7F</color> |
||||
<color name="notification_icon_tint_light">#1F1F1F</color> |
||||
</resources> |
||||
|
||||
@ -1,56 +1,117 @@
|
||||
<resources> |
||||
|
||||
<!-- Base application theme (Dark). --> |
||||
<style name="SplashTheme" parent="Theme.AppCompat.NoActionBar"> |
||||
<item name="android:windowBackground">@drawable/splash_background</item> |
||||
</style> |
||||
|
||||
<!--Base Application Theme Styles (Dark)--> |
||||
|
||||
<style name="AppTheme" parent="Theme.AppCompat.NoActionBar"> |
||||
<item name="colorPrimary">@color/colorPrimary</item> |
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark</item> |
||||
<item name="colorAccent">@color/colorAccent</item> |
||||
<item name="colorPrimary">@color/color_primary_dark</item> |
||||
<item name="colorPrimaryDark">@color/color_primary_dark_dark</item> |
||||
<item name="colorAccent">@color/color_accent_dark</item> |
||||
<item name="colorButtonNormal">@color/button_dark</item> |
||||
|
||||
<item name="android:colorBackground">@color/colorBackground</item> |
||||
<item name="android:windowBackground">@color/windowBackground</item> |
||||
<item name="android:editTextColor">#FFFFFF</item> |
||||
<item name="android:textColorPrimary">#FFFFFF</item> |
||||
<item name="android:textColorSecondary">#FFFFFF</item> |
||||
<item name="android:textColorTertiary">#FFFFFF</item> |
||||
<item name="android:textColorPrimaryInverse">#000000</item> |
||||
<item name="android:textColorSecondaryInverse">#000000</item> |
||||
<item name="android:textColorTertiaryInverse">#000000</item> |
||||
<item name="android:colorBackground">@color/color_background_dark</item> |
||||
<item name="android:windowBackground">@color/window_background_dark</item> |
||||
<item name="android:editTextColor">@color/edit_text_color_dark</item> |
||||
<item name="android:textColorPrimary">@color/text_color_primary_dark</item> |
||||
<item name="android:textColorSecondary">@color/text_color_secondary_dark</item> |
||||
<item name="android:textColorTertiary">@color/text_color_tertiary_dark</item> |
||||
<item name="android:textColorPrimaryInverse">@color/text_color_primary_inverse_dark</item> |
||||
<item name="android:textColorSecondaryInverse">@color/text_color_secondary_inverse_dark</item> |
||||
<item name="android:textColorTertiaryInverse">@color/text_color_tertiary_inverse_dark</item> |
||||
|
||||
<item name="bottomSheetDialogTheme">@style/AppTheme.BottomSheetDialog.Dark</item> |
||||
|
||||
<item name="notification_content">@color/notification_content_faded</item> |
||||
<item name="notification_icon_tint">@color/notification_icon_tint</item> |
||||
<item name="toolbar_background_color">@color/toolbar_background_dark</item> |
||||
<item name="toolbar_icon_tint">@color/toolbar_icon_dark</item> |
||||
<item name="image_button_style">@style/AppTheme.ImageButton.Dark</item> |
||||
<item name="favourite_button_style">@style/AppTheme.FavouriteButton.Dark</item> |
||||
<item name="reblog_button_style">@style/AppTheme.ReblogButton.Dark</item> |
||||
<item name="status_reblog_button_style">@style/AppTheme.ReblogButton.Dark</item> |
||||
<item name="status_favourite_button_style">@style/AppTheme.FavouriteButton.Dark</item> |
||||
<item name="content_warning_button">@drawable/toggle_small</item> |
||||
<item name="sensitive_media_warning_background_color">@color/sensitive_media_warning_background_dark</item> |
||||
<item name="media_preview_unloaded_background_color">@color/media_preview_unloaded_background_dark</item> |
||||
<item name="status_text_color_secondary">@color/status_text_secondary_dark</item> |
||||
<item name="status_divider_color">@color/status_divider_dark</item> |
||||
<item name="tab_page_margin_color">@color/tab_page_margin_dark</item> |
||||
<item name="account_header_background_color">@color/account_header_background_dark</item> |
||||
<item name="compose_media_button_tint">@color/media_button_dark</item> |
||||
<item name="compose_mention_color">@color/compose_mention_dark</item> |
||||
<item name="notification_content">@color/notification_content_faded_dark</item> |
||||
<item name="notification_icon_tint">@color/notification_icon_tint_dark</item> |
||||
</style> |
||||
|
||||
<style name="AppTheme.ImageButton.Dark" parent="@style/Widget.AppCompat.Button.Borderless.Colored"> |
||||
<item name="android:tint">@color/image_button_dark</item> |
||||
</style> |
||||
|
||||
<style name="AppTheme.ReblogButton.Dark" parent="@style/Widget.AppCompat.Button.Borderless.Colored"> |
||||
<item name="android:tint">@color/reblog_button_dark</item> |
||||
</style> |
||||
|
||||
<style name="AppTheme.FavouriteButton.Dark" parent="@style/Widget.AppCompat.Button.Borderless.Colored"> |
||||
<item name="android:tint">@color/favourite_button_dark</item> |
||||
</style> |
||||
|
||||
<style name="AppTheme.ReblogButton.Dark" parent="@style/Widget.AppCompat.Button.Borderless.Colored"> |
||||
<item name="android:tint">@color/reblog_button_dark</item> |
||||
<style name="AppTheme.BottomSheetDialog.Dark" parent="@style/Theme.Design.BottomSheetDialog"> |
||||
<item name="colorAccent">@color/color_accent_dark</item> |
||||
<item name="android:colorBackground">@color/color_background_dark</item> |
||||
</style> |
||||
|
||||
<style name="AppTheme.BottomSheetDialog.Dark" parent="@style/Theme.Design.BottomSheetDialog"> |
||||
<item name="colorAccent">@color/colorAccent</item> |
||||
<item name="android:colorBackground">@color/colorBackground</item> |
||||
<!--Light Application Theme Styles--> |
||||
|
||||
<style name="AppTheme.Light" parent="Theme.AppCompat.Light.NoActionBar"> |
||||
<item name="colorPrimary">@color/color_primary_light</item> |
||||
<item name="colorPrimaryDark">@color/color_primary_dark_light</item> |
||||
<item name="colorAccent">@color/color_accent_light</item> |
||||
<item name="colorButtonNormal">@color/button_light</item> |
||||
|
||||
<item name="android:colorBackground">@color/color_background_light</item> |
||||
<item name="android:windowBackground">@color/window_background_light</item> |
||||
<item name="android:editTextColor">@color/edit_text_color_light</item> |
||||
<item name="android:textColorPrimary">@color/text_color_primary_light</item> |
||||
<item name="android:textColorSecondary">@color/text_color_secondary_light</item> |
||||
<item name="android:textColorTertiary">@color/text_color_tertiary_light</item> |
||||
<item name="android:textColorPrimaryInverse">@color/text_color_primary_inverse_light</item> |
||||
<item name="android:textColorSecondaryInverse">@color/text_color_secondary_inverse_light</item> |
||||
<item name="android:textColorTertiaryInverse">@color/text_color_tertiary_inverse_light</item> |
||||
|
||||
<item name="bottomSheetDialogTheme">@style/AppTheme.BottomSheetDialog.Light</item> |
||||
|
||||
<item name="toolbar_background_color">@color/toolbar_background_light</item> |
||||
<item name="toolbar_icon_tint">@color/toolbar_icon_light</item> |
||||
<item name="image_button_style">@style/AppTheme.ImageButton.Light</item> |
||||
<item name="status_reblog_button_style">@style/AppTheme.ReblogButton.Light</item> |
||||
<item name="status_favourite_button_style">@style/AppTheme.FavouriteButton.Light</item> |
||||
<item name="content_warning_button">@drawable/toggle_small_light</item> |
||||
<item name="sensitive_media_warning_background_color">@color/sensitive_media_warning_background_light</item> |
||||
<item name="media_preview_unloaded_background_color">@color/media_preview_unloaded_background_light</item> |
||||
<item name="status_text_color_secondary">@color/status_text_secondary_light</item> |
||||
<item name="status_divider_color">@color/status_divider_light</item> |
||||
<item name="tab_page_margin_color">@color/tab_page_margin_light</item> |
||||
<item name="account_header_background_color">@color/account_header_background_light</item> |
||||
<item name="compose_media_button_tint">@color/media_button_light</item> |
||||
<item name="compose_mention_color">@color/compose_mention_light</item> |
||||
<item name="notification_content">@color/notification_content_faded_light</item> |
||||
<item name="notification_icon_tint">@color/notification_icon_tint_light</item> |
||||
</style> |
||||
|
||||
<style name="SplashTheme" parent="Theme.AppCompat.NoActionBar"> |
||||
<item name="android:windowBackground">@drawable/splash_background</item> |
||||
<style name="AppTheme.ImageButton.Light" parent="Widget.AppCompat.Button.Borderless.Colored"> |
||||
<item name="android:tint">@color/image_button_light</item> |
||||
</style> |
||||
|
||||
<style name="AppTheme.ReblogButton.Light" parent="Widget.AppCompat.Button.Borderless.Colored"> |
||||
<item name="android:tint">@color/reblog_button_light</item> |
||||
</style> |
||||
|
||||
<style name="AppTheme.FavouriteButton.Light" parent="Widget.AppCompat.Button.Borderless.Colored"> |
||||
<item name="android:tint">@color/favourite_button_light</item> |
||||
</style> |
||||
|
||||
<style name="AppTheme.BottomSheetDialog.Light" parent="@style/Theme.Design.Light.BottomSheetDialog"> |
||||
<item name="colorAccent">@color/color_accent_light</item> |
||||
<item name="android:colorBackground">@color/color_background_light</item> |
||||
</style> |
||||
|
||||
</resources> |
||||
|
||||
Loading…
Reference in new issue