Merge branch 'master' into fragmented_player

This commit is contained in:
Karim Abou Zeid 2015-11-21 16:30:09 +01:00
commit 479a7d81cd
5 changed files with 23 additions and 154 deletions

View file

@ -55,7 +55,7 @@ android {
}
}
compileSdkVersion 23
buildToolsVersion '23.0.1'
buildToolsVersion '23.0.2'
defaultConfig {
minSdkVersion 16
targetSdkVersion 23
@ -93,23 +93,23 @@ android {
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile('com.crashlytics.sdk.android:crashlytics:2.5.2@aar') {
compile('com.crashlytics.sdk.android:crashlytics:2.5.3@aar') {
transitive = true;
}
compile 'com.android.support:support-v4:23.1.0'
compile 'com.android.support:support-v13:23.1.0'
compile 'com.android.support:appcompat-v7:23.1.0'
compile 'com.android.support:recyclerview-v7:23.1.0'
compile 'com.android.support:gridlayout-v7:23.1.0'
compile 'com.android.support:cardview-v7:23.1.0'
compile 'com.android.support:palette-v7:23.1.0'
compile 'com.android.support:design:23.1.0'
compile 'com.android.support:support-annotations:23.1.0'
compile 'com.android.support:support-v4:23.1.1'
compile 'com.android.support:support-v13:23.1.1'
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.android.support:recyclerview-v7:23.1.1'
compile 'com.android.support:gridlayout-v7:23.1.1'
compile 'com.android.support:cardview-v7:23.1.1'
compile 'com.android.support:palette-v7:23.1.1'
compile 'com.android.support:design:23.1.1'
compile 'com.android.support:support-annotations:23.1.1'
compile 'com.github.ksoichiro:android-observablescrollview:1.6.0'
compile 'asia.ivity.android:drag-sort-listview:1.0'
compile 'com.github.semoncat.seekarc:library:0.1'
compile 'com.sothree.slidinguppanel:library:3.1.1'
compile 'com.sothree.slidinguppanel:library:3.2.0'
compile 'com.squareup.retrofit:retrofit:2.0.0-beta2'
compile 'com.squareup.retrofit:converter-gson:2.0.0-beta2'
@ -117,13 +117,15 @@ dependencies {
compile 'com.github.kabouzeid:Android-Universal-Image-Loader:8ffb5d4afa'
compile('com.afollestad.material-dialogs:core:0.8.4.2@aar') {
compile('com.afollestad.material-dialogs:core:0.8.5.1@aar') {
transitive = true
}
compile('com.afollestad.material-dialogs:commons:0.8.4.2@aar') {
compile('com.afollestad.material-dialogs:commons:0.8.5.1@aar') {
transitive = true
}
compile('com.afollestad:material-cab:0.1.6@aar') {
transitive = true
}
compile 'com.afollestad:material-cab:0.1.5'
compile 'com.jakewharton:butterknife:7.0.1'

View file

@ -154,6 +154,7 @@ public class SettingsActivity extends AbsBaseActivity implements ColorChooserDia
new ColorChooserDialog.Builder(((SettingsActivity) getActivity()), R.string.primary_color)
.accentMode(false)
.allowUserColorInput(true)
.allowUserColorInputAlpha(false)
.preselect(PreferenceUtil.getInstance(getActivity()).getThemeColorPrimary(getActivity()))
.show();
return true;
@ -168,6 +169,7 @@ public class SettingsActivity extends AbsBaseActivity implements ColorChooserDia
new ColorChooserDialog.Builder(((SettingsActivity) getActivity()), R.string.accent_color)
.accentMode(true)
.allowUserColorInput(true)
.allowUserColorInputAlpha(false)
.preselect(PreferenceUtil.getInstance(getActivity()).getThemeColorAccent(getActivity()))
.show();
return true;

View file

@ -98,7 +98,7 @@ public abstract class AbsThemeActivity extends AppCompatActivity implements KabV
taskDescription = new ActivityManager.TaskDescription(
null,
null,
color);
ColorUtil.getOpaqueColor(color));
setTaskDescription(taskDescription);
}
}

View file

@ -10,9 +10,8 @@ import android.os.Build;
import android.support.annotation.ColorInt;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v7.internal.view.menu.ListMenuItemView;
import android.support.v7.internal.view.menu.MenuPopupHelper;
import android.support.v7.widget.ActionMenuPresenter;
import android.support.v7.view.menu.ListMenuItemView;
import android.support.v7.view.menu.MenuPopupHelper;
import android.support.v7.widget.ActionMenuView;
import android.support.v7.widget.Toolbar;
import android.util.Log;
@ -82,7 +81,7 @@ public class ViewUtil {
Field f2 = ActionMenuView.class.getDeclaredField("mPresenter");
f2.setAccessible(true);
ActionMenuPresenter presenter = (ActionMenuPresenter) f2.get(actionMenuView);
Object presenter = f2.get(actionMenuView); // ActionMenuPresenter is not a public class, so we use Object here
Field f3 = presenter.getClass().getDeclaredField("mOverflowPopup");
f3.setAccessible(true);

View file

@ -1,134 +0,0 @@
package com.kabouzeid.gramophone.views;
import android.content.Context;
import android.content.res.ColorStateList;
import android.graphics.Color;
import android.graphics.PorterDuff;
import android.graphics.drawable.Drawable;
import android.support.annotation.NonNull;
import android.support.v4.content.ContextCompat;
import android.support.v4.graphics.ColorUtils;
import android.support.v4.graphics.drawable.DrawableCompat;
import android.support.v7.internal.widget.ThemeUtils;
import android.support.v7.widget.SwitchCompat;
import android.util.AttributeSet;
import com.afollestad.materialdialogs.internal.ThemeSingleton;
import com.kabouzeid.gramophone.R;
import static android.support.v7.internal.widget.ThemeUtils.getThemeAttrColorStateList;
/**
* @author Karim Abou Zeid (kabouzeid)
*/
public class DynamicSwitch extends SwitchCompat {
static final int[] DISABLED_STATE_SET = new int[]{-android.R.attr.state_enabled};
static final int[] CHECKED_STATE_SET = new int[]{android.R.attr.state_checked};
static final int[] EMPTY_STATE_SET = new int[0];
public DynamicSwitch(@NonNull Context context) {
super(context);
init();
}
public DynamicSwitch(@NonNull Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
public DynamicSwitch(@NonNull Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
init();
}
private void init() {
final int color = ThemeSingleton.get().positiveColor.getDefaultColor();
setTint(this, color);
}
public static void setTint(@NonNull SwitchCompat switchCompat, int color) {
ColorStateList trackColorSl = createSwitchTrackColorStateList(switchCompat.getContext(), color);
ColorStateList thumbColorSl = createSwitchThumbColorStateList(switchCompat.getContext(), color);
Drawable thumbDrawable = DrawableCompat.wrap(ContextCompat.getDrawable(switchCompat.getContext(), R.drawable.abc_switch_thumb_material));
DrawableCompat.setTintList(thumbDrawable, thumbColorSl);
DrawableCompat.setTintMode(thumbDrawable, PorterDuff.Mode.MULTIPLY);
switchCompat.setThumbDrawable(thumbDrawable);
Drawable trackDrawable = DrawableCompat.wrap(ContextCompat.getDrawable(switchCompat.getContext(), R.drawable.abc_switch_track_mtrl_alpha));
DrawableCompat.setTintList(trackDrawable, trackColorSl);
switchCompat.setTrackDrawable(trackDrawable);
}
@NonNull
private static ColorStateList createSwitchTrackColorStateList(@NonNull Context context, int colorActivated) {
final int[][] states = new int[3][];
final int[] colors = new int[3];
int i = 0;
// Disabled state
states[i] = DISABLED_STATE_SET;
colors[i] = getColorWithMultipliedAlpha(ThemeUtils.getThemeAttrColor(context, android.R.attr.colorForeground), 0.1f);
i++;
states[i] = CHECKED_STATE_SET;
colors[i] = getColorWithMultipliedAlpha(colorActivated, 0.3f);
i++;
// Default enabled state
states[i] = EMPTY_STATE_SET;
colors[i] = getColorWithMultipliedAlpha(ThemeUtils.getThemeAttrColor(context, android.R.attr.colorForeground), 0.3f);
return new ColorStateList(states, colors);
}
@NonNull
private static ColorStateList createSwitchThumbColorStateList(@NonNull Context context, int colorActivated) {
final int[][] states = new int[3][];
final int[] colors = new int[3];
int i = 0;
final ColorStateList thumbColor = getThemeAttrColorStateList(context,
android.support.v7.appcompat.R.attr.colorSwitchThumbNormal);
if (thumbColor != null && thumbColor.isStateful()) {
// If colorSwitchThumbNormal is a valid ColorStateList, extract the default and
// disabled colors from it
// Disabled state
states[i] = DISABLED_STATE_SET;
colors[i] = thumbColor.getColorForState(states[i], 0);
i++;
states[i] = CHECKED_STATE_SET;
colors[i] = colorActivated;
i++;
// Default enabled state
states[i] = EMPTY_STATE_SET;
colors[i] = thumbColor.getDefaultColor();
} else {
// Else we'll use an approximation using the default disabled alpha
// Disabled state
states[i] = DISABLED_STATE_SET;
colors[i] = ThemeUtils.getDisabledThemeAttrColor(context, android.support.v7.appcompat.R.attr.colorSwitchThumbNormal);
i++;
states[i] = CHECKED_STATE_SET;
colors[i] = colorActivated;
i++;
// Default enabled state
states[i] = EMPTY_STATE_SET;
colors[i] = ThemeUtils.getThemeAttrColor(context, android.support.v7.appcompat.R.attr.colorSwitchThumbNormal);
}
return new ColorStateList(states, colors);
}
private static int getColorWithMultipliedAlpha(int color, float alpha) {
final int originalAlpha = Color.alpha(color);
return ColorUtils.setAlphaComponent(color, Math.round(originalAlpha * alpha));
}
}