migrated some dialogs to material design

This commit is contained in:
Mariotaku Lee 2015-05-20 16:22:19 +08:00
parent 13c45346ac
commit 54eed64fcf
24 changed files with 66 additions and 38 deletions

View File

@ -89,13 +89,13 @@ dependencies {
compile 'com.github.mariotaku:MessageBubbleView:1.2'
compile 'com.github.mariotaku:DragSortListView:0.6.1'
compile 'com.github.mariotaku:SlidingMenu:1.3'
compile 'com.github.uucky:ColorPicker-Android:0.9.4'
compile 'com.github.uucky:ColorPicker-Android:0.9.7@aar'
compile 'com.github.boxme:AsyncManager:9391ed71d7@aar'
compile 'com.sprylab.android.texturevideoview:texturevideoview:1.0.0'
compile 'com.squareup:pollexor:2.0.2'
compile 'org.apache.commons:commons-lang3:3.4'
compile 'com.bluelinelabs:logansquare:1.0.6'
compile 'ch.acra:acra:4.6.2'
compile 'com.github.boxme:AsyncManager:9391ed71d7@aar'
compile 'org.jraf:android-switch-backport:2.0.1'
googleCompile 'com.google.android.gms:play-services-maps:7.3.0'
googleCompile 'com.google.maps.android:android-maps-utils:0.3.4'

View File

@ -34,6 +34,7 @@ public interface KeyboardShortcutConstants {
String ACTION_NAVIGATION_REFRESH = "navigation.refresh";
String ACTION_NAVIGATION_NEXT = "navigation.next";
String ACTION_NAVIGATION_PREVIOUS = "navigation.previous";
String ACTION_NAVIGATION_TOP = "navigation.top";
String ACTION_STATUS_FAVORITE = "status.favorite";
String ACTION_STATUS_RETWEET = "status.retweet";
String ACTION_STATUS_REPLY = "status.reply";

View File

@ -111,6 +111,7 @@ public class KeyboardShortcutsFragment extends BasePreferenceFragment implements
navigation.addPreference(makePreferences(CONTEXT_TAG_NAVIGATION, ACTION_NAVIGATION_NEXT_TAB));
navigation.addPreference(makePreferences(CONTEXT_TAG_NAVIGATION, ACTION_NAVIGATION_REFRESH));
navigation.addPreference(makePreferences(CONTEXT_TAG_NAVIGATION, ACTION_NAVIGATION_BACK));
navigation.addPreference(makePreferences(CONTEXT_TAG_NAVIGATION, ACTION_NAVIGATION_TOP));
final PreferenceCategory statuses = makeAndAddCategory(getString(R.string.statuses));
statuses.addPreference(makePreferences(CONTEXT_TAG_STATUS, ACTION_STATUS_REPLY));
statuses.addPreference(makePreferences(CONTEXT_TAG_STATUS, ACTION_STATUS_RETWEET));

View File

@ -19,7 +19,7 @@
package org.mariotaku.twidere.fragment.support;
import android.app.AlertDialog;
import android.support.v7.app.AlertDialog;
import android.app.Dialog;
import android.content.ContentResolver;
import android.content.ContentValues;

View File

@ -19,7 +19,7 @@
package org.mariotaku.twidere.fragment.support;
import android.app.AlertDialog;
import android.support.v7.app.AlertDialog;
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;

View File

@ -26,6 +26,7 @@ import android.graphics.Color;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v4.app.FragmentActivity;
import android.support.v7.app.AlertDialog;
import org.mariotaku.twidere.R;
import org.mariotaku.twidere.fragment.iface.IDialogFragmentCallback;
@ -35,6 +36,8 @@ import me.uucky.colorpicker.ColorPickerDialog;
public final class ColorPickerDialogFragment extends BaseSupportDialogFragment implements
DialogInterface.OnClickListener {
private ColorPickerDialog.Controller mController;
@Override
public void onCancel(final DialogInterface dialog) {
super.onCancel(dialog);
@ -47,11 +50,10 @@ public final class ColorPickerDialogFragment extends BaseSupportDialogFragment i
@Override
public void onClick(final DialogInterface dialog, final int which) {
final FragmentActivity a = getActivity();
final Dialog d = getDialog();
if (!(a instanceof Callback) || !(d instanceof ColorPickerDialog)) return;
if (!(a instanceof Callback) || mController == null) return;
switch (which) {
case DialogInterface.BUTTON_POSITIVE: {
final int color = ((ColorPickerDialog) d).getColor();
final int color = mController.getColor();
((Callback) a).onColorSelected(color);
break;
}
@ -72,20 +74,32 @@ public final class ColorPickerDialogFragment extends BaseSupportDialogFragment i
} else {
color = args.getInt(EXTRA_COLOR, Color.WHITE);
}
final boolean showAlphaSlider = args.getBoolean(EXTRA_ALPHA_SLIDER, true);
final ColorPickerDialog d = new ColorPickerDialog(getActivity());
final Resources res = getResources();
for (int presetColor : PRESET_COLORS) {
d.addColor(res.getColor(presetColor));
}
d.setInitialColor(color);
d.setAlphaEnabled(showAlphaSlider);
d.setButton(DialogInterface.BUTTON_POSITIVE, getString(android.R.string.ok), this);
final FragmentActivity activity = getActivity();
final AlertDialog.Builder builder = new AlertDialog.Builder(activity);
builder.setView(me.uucky.colorpicker.R.layout.cp__dialog_color_picker);
builder.setPositiveButton(android.R.string.ok, this);
if (args.getBoolean(EXTRA_CLEAR_BUTTON, false)) {
d.setButton(DialogInterface.BUTTON_NEUTRAL, getString(R.string.clear), this);
builder.setNeutralButton(R.string.clear, this);
}
d.setButton(DialogInterface.BUTTON_NEGATIVE, getString(android.R.string.cancel), this);
return d;
builder.setNegativeButton(android.R.string.cancel, this);
final AlertDialog dialog = builder.create();
dialog.setOnShowListener(new DialogInterface.OnShowListener() {
@Override
public void onShow(DialogInterface di) {
final Dialog dialog = (Dialog) di;
mController = new ColorPickerDialog.Controller(dialog.getContext(), dialog.getWindow().getDecorView());
final boolean showAlphaSlider = args.getBoolean(EXTRA_ALPHA_SLIDER, true);
final Resources res = getResources();
for (int presetColor : PRESET_COLORS) {
mController.addColor(res.getColor(presetColor));
}
mController.setAlphaEnabled(showAlphaSlider);
mController.setInitialColor(color);
}
});
return dialog;
}
@Override
@ -99,9 +113,8 @@ public final class ColorPickerDialogFragment extends BaseSupportDialogFragment i
@Override
public void onSaveInstanceState(final Bundle outState) {
final Dialog d = getDialog();
if (d instanceof ColorPickerDialog) {
outState.putInt(EXTRA_COLOR, ((ColorPickerDialog) d).getColor());
if (mController != null) {
outState.putInt(EXTRA_COLOR, mController.getColor());
}
super.onSaveInstanceState(outState);
}

View File

@ -19,7 +19,7 @@
package org.mariotaku.twidere.fragment.support;
import android.app.AlertDialog;
import android.support.v7.app.AlertDialog;
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;

View File

@ -19,7 +19,7 @@
package org.mariotaku.twidere.fragment.support;
import android.app.AlertDialog;
import android.support.v7.app.AlertDialog;
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;

View File

@ -19,7 +19,7 @@
package org.mariotaku.twidere.fragment.support;
import android.app.AlertDialog;
import android.support.v7.app.AlertDialog;
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;

View File

@ -19,7 +19,7 @@
package org.mariotaku.twidere.fragment.support;
import android.app.AlertDialog;
import android.support.v7.app.AlertDialog;
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;

View File

@ -19,7 +19,7 @@
package org.mariotaku.twidere.fragment.support;
import android.app.AlertDialog;
import android.support.v7.app.AlertDialog;
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;

View File

@ -19,7 +19,7 @@
package org.mariotaku.twidere.fragment.support;
import android.app.AlertDialog;
import android.support.v7.app.AlertDialog;
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;

View File

@ -19,7 +19,7 @@
package org.mariotaku.twidere.fragment.support;
import android.app.AlertDialog;
import android.support.v7.app.AlertDialog;
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;

View File

@ -19,7 +19,7 @@
package org.mariotaku.twidere.fragment.support;
import android.app.AlertDialog;
import android.support.v7.app.AlertDialog;
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;

View File

@ -19,7 +19,7 @@
package org.mariotaku.twidere.fragment.support;
import android.app.AlertDialog;
import android.support.v7.app.AlertDialog;
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;

View File

@ -19,7 +19,7 @@
package org.mariotaku.twidere.fragment.support;
import android.app.AlertDialog;
import android.support.v7.app.AlertDialog;
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;

View File

@ -19,7 +19,7 @@
package org.mariotaku.twidere.fragment.support;
import android.app.AlertDialog;
import android.support.v7.app.AlertDialog;
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;

View File

@ -19,7 +19,7 @@
package org.mariotaku.twidere.fragment.support;
import android.app.AlertDialog;
import android.support.v7.app.AlertDialog;
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;

View File

@ -20,7 +20,6 @@
package org.mariotaku.twidere.fragment.support;
import android.annotation.SuppressLint;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
@ -29,6 +28,7 @@ import android.net.Uri;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v4.app.FragmentManager;
import android.support.v7.app.AlertDialog;
import android.support.v7.widget.PopupMenu;
import android.text.Editable;
import android.text.TextWatcher;

View File

@ -19,7 +19,7 @@
package org.mariotaku.twidere.fragment.support;
import android.app.AlertDialog;
import android.support.v7.app.AlertDialog;
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;

View File

@ -19,7 +19,6 @@
package org.mariotaku.twidere.fragment.support;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
@ -27,6 +26,8 @@ import android.content.DialogInterface.OnClickListener;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v4.app.FragmentManager;
import android.support.v7.app.AlertDialog;
import android.support.v7.widget.AppCompatEditText;
import android.text.TextUtils;
import android.widget.EditText;
import android.widget.FrameLayout;
@ -79,7 +80,7 @@ public class SetUserNicknameDialogFragment extends BaseSupportDialogFragment imp
}
builder.setNegativeButton(android.R.string.cancel, null);
final FrameLayout view = new FrameLayout(wrapped);
mEditText = new EditText(wrapped);
mEditText = new AppCompatEditText(wrapped);
final FrameLayout.LayoutParams lp = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT,
FrameLayout.LayoutParams.WRAP_CONTENT);
lp.leftMargin = lp.topMargin = lp.bottomMargin = lp.rightMargin = getResources().getDimensionPixelSize(

View File

@ -38,6 +38,7 @@ public class KeyboardShortcutsHandler implements Constants, KeyboardShortcutCons
sActionLabelMap.put(ACTION_STATUS_FAVORITE, R.string.favorite);
sActionLabelMap.put(ACTION_NAVIGATION_PREVIOUS, R.string.previous_item);
sActionLabelMap.put(ACTION_NAVIGATION_NEXT, R.string.next_item);
sActionLabelMap.put(ACTION_NAVIGATION_TOP, R.string.jump_to_top);
sActionLabelMap.put(ACTION_NAVIGATION_REFRESH, R.string.refresh);
sActionLabelMap.put(ACTION_NAVIGATION_PREVIOUS_TAB, R.string.previous_tab);
sActionLabelMap.put(ACTION_NAVIGATION_NEXT_TAB, R.string.next_tab);
@ -218,6 +219,7 @@ public class KeyboardShortcutsHandler implements Constants, KeyboardShortcutCons
editor.putString("navigation.k", ACTION_NAVIGATION_PREVIOUS);
editor.putString("navigation.h", ACTION_NAVIGATION_PREVIOUS_TAB);
editor.putString("navigation.l", ACTION_NAVIGATION_NEXT_TAB);
editor.putString("navigation.u", ACTION_NAVIGATION_TOP);
editor.putString("status.f", ACTION_STATUS_FAVORITE);
editor.putString("status.r", ACTION_STATUS_REPLY);
editor.putString("status.t", ACTION_STATUS_RETWEET);

View File

@ -97,6 +97,15 @@ public class RecyclerViewNavigationHelper implements KeyboardShortcutCallback {
@Override
public boolean handleKeyboardShortcutSingle(@NonNull KeyboardShortcutsHandler handler, int keyCode, @NonNull KeyEvent event) {
final String action = handler.getKeyAction(CONTEXT_TAG_NAVIGATION, keyCode, event);
if (action == null) return false;
switch (action) {
case ACTION_NAVIGATION_TOP: {
view.stopScroll();
manager.scrollToPositionWithOffset(0, 0);
return true;
}
}
return false;
}
}

View File

@ -753,4 +753,5 @@
<string name="disable_retweets">Disable retweets</string>
<string name="play">Play</string>
<string name="pause">Pause</string>
<string name="jump_to_top">Jump to top</string>
</resources>