|
|
|
@ -5,6 +5,7 @@ import android.graphics.PixelFormat;
|
|
|
|
|
import android.view.WindowManager;
|
|
|
|
|
|
|
|
|
|
import com.timsu.astrid.R;
|
|
|
|
|
import com.todoroo.andlib.service.ContextManager;
|
|
|
|
|
import com.todoroo.andlib.utility.AndroidUtilities;
|
|
|
|
|
import com.todoroo.andlib.utility.Preferences;
|
|
|
|
|
|
|
|
|
@ -17,8 +18,11 @@ public class ThemeService {
|
|
|
|
|
public static final String THEME_TRANSPARENT = "transparent";
|
|
|
|
|
public static final String THEME_TRANSPARENT_WHITE = "transparent-white";
|
|
|
|
|
|
|
|
|
|
private static int currentTheme;
|
|
|
|
|
|
|
|
|
|
public static void applyTheme(Activity activity) {
|
|
|
|
|
activity.setTheme(getTheme());
|
|
|
|
|
currentTheme = getTheme();
|
|
|
|
|
activity.setTheme(currentTheme);
|
|
|
|
|
|
|
|
|
|
activity.getWindow().setFormat(PixelFormat.RGBA_8888);
|
|
|
|
|
activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DITHER);
|
|
|
|
@ -64,4 +68,44 @@ public class ThemeService {
|
|
|
|
|
return (AndroidUtilities.getSdkVersion() >= 11 ? "black" : "white");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static int getDrawable(int lightDrawable) {
|
|
|
|
|
boolean darkTheme = currentTheme == R.style.Theme || currentTheme == R.style.Theme_Transparent;
|
|
|
|
|
if(!darkTheme)
|
|
|
|
|
return lightDrawable;
|
|
|
|
|
|
|
|
|
|
switch(lightDrawable) {
|
|
|
|
|
case R.drawable.icn_menu_refresh:
|
|
|
|
|
return R.drawable.icn_menu_refresh_dark;
|
|
|
|
|
case R.drawable.icn_menu_filters:
|
|
|
|
|
return R.drawable.icn_menu_filters_dark;
|
|
|
|
|
case R.drawable.icn_menu_sort_by_size:
|
|
|
|
|
return R.drawable.icn_menu_sort_by_size_dark;
|
|
|
|
|
case R.drawable.icn_menu_lists:
|
|
|
|
|
return R.drawable.icn_menu_lists_dark;
|
|
|
|
|
case R.drawable.icn_menu_plugins:
|
|
|
|
|
return R.drawable.icn_menu_plugins_dark;
|
|
|
|
|
case R.drawable.icn_menu_settings:
|
|
|
|
|
return R.drawable.icn_menu_settings_dark;
|
|
|
|
|
case R.drawable.icn_menu_support:
|
|
|
|
|
return R.drawable.icn_menu_support_dark;
|
|
|
|
|
case R.drawable.icn_menu_tutorial:
|
|
|
|
|
return R.drawable.icn_menu_tutorial_dark;
|
|
|
|
|
case R.drawable.filter_assigned:
|
|
|
|
|
return R.drawable.filter_assigned_dark;
|
|
|
|
|
case R.drawable.filter_calendar:
|
|
|
|
|
return R.drawable.filter_calendar_dark;
|
|
|
|
|
case R.drawable.filter_inbox:
|
|
|
|
|
return R.drawable.filter_inbox_dark;
|
|
|
|
|
case R.drawable.filter_pencil:
|
|
|
|
|
return R.drawable.filter_pencil_dark;
|
|
|
|
|
case R.drawable.filter_sliders:
|
|
|
|
|
return R.drawable.filter_sliders_dark;
|
|
|
|
|
case R.drawable.gl_lists:
|
|
|
|
|
return R.drawable.gl_lists_dark;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
throw new RuntimeException("No theme drawable found for " +
|
|
|
|
|
ContextManager.getResources().getResourceName(lightDrawable));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|