mirror of
https://github.com/gsantner/dandelion
synced 2025-12-15 08:41:10 +01:00
Fixed lint issues (suppressed, where they cant be fixed)
Release 0.2.0 (Updated translation files) Announcing 0.2.0-next Added wipe-settings option Merge branch 'master' of github.com:Diaspora-for-Android/diaspora-android Merge branch 'master' into wipe-settings Added ThemedAlertDialogBuilder and a corresponding method in ThemeHelper Merge branch 'master' into wipe-settings Reworked dialog
This commit is contained in:
parent
a151d37a4e
commit
dd4af48b8e
28 changed files with 240 additions and 29 deletions
|
|
@ -30,7 +30,6 @@ import android.os.Build;
|
|||
import android.os.Bundle;
|
||||
import android.provider.MediaStore;
|
||||
import android.support.design.widget.Snackbar;
|
||||
import android.support.v7.app.AlertDialog;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuInflater;
|
||||
import android.view.MenuItem;
|
||||
|
|
@ -43,6 +42,7 @@ import android.webkit.WebView;
|
|||
import com.github.dfa.diaspora_android.App;
|
||||
import com.github.dfa.diaspora_android.R;
|
||||
import com.github.dfa.diaspora_android.data.DiasporaUserProfile;
|
||||
import com.github.dfa.diaspora_android.ui.theme.ThemedAlertDialogBuilder;
|
||||
import com.github.dfa.diaspora_android.util.AppLog;
|
||||
import com.github.dfa.diaspora_android.util.DiasporaUrlHelper;
|
||||
import com.github.dfa.diaspora_android.util.Helpers;
|
||||
|
|
@ -247,7 +247,7 @@ public class DiasporaStreamFragment extends BrowserFragment {
|
|||
int hasWRITE_EXTERNAL_STORAGE = getActivity().checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE);
|
||||
if (hasWRITE_EXTERNAL_STORAGE != PackageManager.PERMISSION_GRANTED) {
|
||||
if (!shouldShowRequestPermissionRationale(Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
|
||||
new AlertDialog.Builder(getContext())
|
||||
new ThemedAlertDialogBuilder(getContext(), appSettings)
|
||||
.setMessage(R.string.permissions_image)
|
||||
.setNegativeButton(android.R.string.no, null)
|
||||
.setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
|
||||
|
|
|
|||
|
|
@ -39,6 +39,7 @@ import android.support.v4.content.LocalBroadcastManager;
|
|||
import android.support.v4.view.GravityCompat;
|
||||
import android.support.v4.widget.DrawerLayout;
|
||||
import android.support.v7.app.ActionBarDrawerToggle;
|
||||
import android.support.v7.app.AlertDialog;
|
||||
import android.support.v7.widget.ActionMenuView;
|
||||
import android.support.v7.widget.Toolbar;
|
||||
import android.view.KeyEvent;
|
||||
|
|
@ -69,6 +70,7 @@ import com.github.dfa.diaspora_android.ui.PodSelectionDialog;
|
|||
import com.github.dfa.diaspora_android.ui.theme.CustomFragment;
|
||||
import com.github.dfa.diaspora_android.ui.theme.ThemeHelper;
|
||||
import com.github.dfa.diaspora_android.ui.theme.ThemedActivity;
|
||||
import com.github.dfa.diaspora_android.ui.theme.ThemedAlertDialogBuilder;
|
||||
import com.github.dfa.diaspora_android.util.AppLog;
|
||||
import com.github.dfa.diaspora_android.util.AppSettings;
|
||||
import com.github.dfa.diaspora_android.util.DiasporaUrlHelper;
|
||||
|
|
@ -485,7 +487,7 @@ public class MainActivity extends ThemedActivity
|
|||
return;
|
||||
}
|
||||
//Catch split screen recreation
|
||||
if (action.equals(Intent.ACTION_MAIN) && getTopFragment() != null) {
|
||||
if (action != null && action.equals(Intent.ACTION_MAIN) && getTopFragment() != null) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -774,7 +776,7 @@ public class MainActivity extends ThemedActivity
|
|||
}
|
||||
};
|
||||
|
||||
final android.support.v7.app.AlertDialog dialog = new android.support.v7.app.AlertDialog.Builder(this)
|
||||
final AlertDialog dialog = new ThemedAlertDialogBuilder(this, appSettings)
|
||||
.setView(layout).setTitle(R.string.search_alert_title)
|
||||
.setCancelable(true)
|
||||
.setPositiveButton(R.string.search_alert_tag, clickListener)
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
package com.github.dfa.diaspora_android.activity;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.app.AlarmManager;
|
||||
import android.app.AlertDialog;
|
||||
import android.app.FragmentTransaction;
|
||||
import android.app.PendingIntent;
|
||||
import android.content.Context;
|
||||
|
|
@ -26,6 +26,7 @@ import com.github.dfa.diaspora_android.R;
|
|||
import com.github.dfa.diaspora_android.ui.theme.ColorPalette;
|
||||
import com.github.dfa.diaspora_android.ui.theme.ThemeHelper;
|
||||
import com.github.dfa.diaspora_android.ui.theme.ThemedActivity;
|
||||
import com.github.dfa.diaspora_android.ui.theme.ThemedAlertDialogBuilder;
|
||||
import com.github.dfa.diaspora_android.ui.theme.ThemedPreferenceFragment;
|
||||
import com.github.dfa.diaspora_android.util.AppLog;
|
||||
import com.github.dfa.diaspora_android.util.AppSettings;
|
||||
|
|
@ -214,7 +215,7 @@ public class SettingsActivity extends ThemedActivity {
|
|||
getActivity().finish();
|
||||
return true;
|
||||
} else if (settings.isKeyEqual(key, R.string.pref_key__change_account)) {
|
||||
new AlertDialog.Builder(getActivity())
|
||||
new ThemedAlertDialogBuilder(getActivity(), new AppSettings(getActivity().getApplication()))
|
||||
.setTitle(getString(R.string.confirmation))
|
||||
.setMessage(getString(R.string.pref_warning__change_account))
|
||||
.setNegativeButton(android.R.string.no, null)
|
||||
|
|
@ -284,6 +285,7 @@ public class SettingsActivity extends ThemedActivity {
|
|||
*
|
||||
* @param type 1 -> Primary Color, 2 -> Accent Color
|
||||
*/
|
||||
@SuppressLint("InflateParams")
|
||||
public void showColorPickerDialog(final int type) {
|
||||
final AppSettings appSettings = ((App) getActivity().getApplication()).getSettings();
|
||||
final Context context = getActivity();
|
||||
|
|
@ -291,7 +293,7 @@ public class SettingsActivity extends ThemedActivity {
|
|||
//Inflate dialog layout
|
||||
LayoutInflater inflater = getActivity().getLayoutInflater();
|
||||
View dialogLayout = inflater.inflate(R.layout.ui__dialog__color_picker, null);
|
||||
final android.support.v7.app.AlertDialog.Builder builder = new android.support.v7.app.AlertDialog.Builder(context);
|
||||
final ThemedAlertDialogBuilder builder = new ThemedAlertDialogBuilder(context, appSettings);
|
||||
builder.setView(dialogLayout);
|
||||
|
||||
final FrameLayout titleBackground = (FrameLayout) dialogLayout.findViewById(R.id.color_picker_dialog__title_background);
|
||||
|
|
@ -447,5 +449,39 @@ public class SettingsActivity extends ThemedActivity {
|
|||
public String getFragmentTag() {
|
||||
return TAG;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onPreferenceTreeClick(PreferenceScreen screen, Preference preference) {
|
||||
if (isAdded() && preference.hasKey()) {
|
||||
AppSettings appSettings = ((App) getActivity().getApplication()).getSettings();
|
||||
String key = preference.getKey();
|
||||
if (appSettings.isKeyEqual(key, R.string.pref_key__wipe_settings)) {
|
||||
showWipeSettingsDialog();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return super.onPreferenceTreeClick(screen, preference);
|
||||
}
|
||||
|
||||
private void showWipeSettingsDialog() {
|
||||
final AppSettings appSettings = new AppSettings(this.getActivity().getApplication());
|
||||
|
||||
ThemedAlertDialogBuilder builder = new ThemedAlertDialogBuilder(getActivity(), appSettings);
|
||||
builder.setTitle(R.string.confirmation)
|
||||
.setMessage(R.string.dialog_content__wipe_settings)
|
||||
.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialogInterface, int i) {
|
||||
appSettings.clearAppSettings();
|
||||
appSettings.clearPodSettings();
|
||||
Intent restartActivity = new Intent(getActivity(), MainActivity.class);
|
||||
PendingIntent pendingIntent = PendingIntent.getActivity(getActivity(), 12374, restartActivity, PendingIntent.FLAG_CANCEL_CURRENT);
|
||||
AlarmManager mgr = (AlarmManager) getActivity().getSystemService(Context.ALARM_SERVICE);
|
||||
mgr.set(AlarmManager.RTC, System.currentTimeMillis() + 100, pendingIntent);
|
||||
System.exit(0);
|
||||
}
|
||||
}).setNegativeButton(android.R.string.cancel, null)
|
||||
.create().show();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -88,7 +88,7 @@ public class BadgeDrawable extends Drawable {
|
|||
canvas.drawCircle(centerX, centerY, (int) (radius + 6.5), badgeBackground);
|
||||
//canvas.drawRoundRect(radius, radius, radius, radius, 10, 10, badgeBackground);
|
||||
}
|
||||
// Draw badge count text inside the circle.
|
||||
// Draw badge count message inside the circle.
|
||||
badgeText.getTextBounds(badgeValue, 0, badgeValue.length(), textRect);
|
||||
float textHeight = textRect.bottom - textRect.top;
|
||||
float textY = centerY + (textHeight / 2f);
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@ public class HtmlTextView extends TextView {
|
|||
}
|
||||
|
||||
/**
|
||||
* Linkify, format markdown and escape the displayed text.
|
||||
* Linkify, format markdown and escape the displayed message.
|
||||
*/
|
||||
private void init() {
|
||||
formatHtmlAndCustomTags();
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
package com.github.dfa.diaspora_android.ui;
|
||||
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.app.Dialog;
|
||||
import android.os.Bundle;
|
||||
import android.support.annotation.NonNull;
|
||||
|
|
@ -9,6 +10,7 @@ import android.text.TextUtils;
|
|||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.widget.ArrayAdapter;
|
||||
import android.widget.Button;
|
||||
import android.widget.CheckBox;
|
||||
import android.widget.EditText;
|
||||
import android.widget.RadioGroup;
|
||||
|
|
@ -93,6 +95,12 @@ public class PodSelectionDialog extends ThemedAppCompatDialogFragment {
|
|||
@BindView(R.id.podselection__dialog__text_protocol)
|
||||
TextView textProtocol;
|
||||
|
||||
@BindView(R.id.podselection__dialog__btn_ok)
|
||||
Button btnOk;
|
||||
|
||||
@BindView(R.id.podselection__dialog__btn_cancel)
|
||||
Button btnCancel;
|
||||
|
||||
private PodSelectionDialogResultListener resultListener;
|
||||
private View root;
|
||||
private DiasporaPod pod = new DiasporaPod();
|
||||
|
|
@ -100,6 +108,7 @@ public class PodSelectionDialog extends ThemedAppCompatDialogFragment {
|
|||
|
||||
@NonNull
|
||||
@Override
|
||||
@SuppressLint("InflateParams")
|
||||
public Dialog onCreateDialog(Bundle savedInstanceState) {
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
|
||||
LayoutInflater inflater = getActivity().getLayoutInflater();
|
||||
|
|
@ -135,6 +144,8 @@ public class PodSelectionDialog extends ThemedAppCompatDialogFragment {
|
|||
textProfile.setTextColor(ThemeHelper.getAccentColor());
|
||||
textProtocol.setTextColor(ThemeHelper.getAccentColor());
|
||||
textTorPreset.setTextColor(ThemeHelper.getAccentColor());
|
||||
btnOk.setTextColor(ThemeHelper.getAccentColor());
|
||||
btnCancel.setTextColor(ThemeHelper.getAccentColor());
|
||||
|
||||
ThemeHelper.updateEditTextColor(editPodAddress);
|
||||
ThemeHelper.updateEditTextColor(editPodName);
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@
|
|||
*/
|
||||
package com.github.dfa.diaspora_android.ui.theme;
|
||||
|
||||
import android.content.DialogInterface;
|
||||
import android.content.res.ColorStateList;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.PorterDuff;
|
||||
|
|
@ -26,9 +27,11 @@ import android.os.Build;
|
|||
import android.support.design.widget.TabLayout;
|
||||
import android.support.v4.content.ContextCompat;
|
||||
import android.support.v4.widget.CompoundButtonCompat;
|
||||
import android.support.v7.app.AlertDialog;
|
||||
import android.support.v7.widget.ActionMenuView;
|
||||
import android.support.v7.widget.Toolbar;
|
||||
import android.view.View;
|
||||
import android.widget.Button;
|
||||
import android.widget.CheckBox;
|
||||
import android.widget.EditText;
|
||||
import android.widget.ProgressBar;
|
||||
|
|
@ -37,6 +40,7 @@ import android.widget.RadioGroup;
|
|||
import android.widget.TextView;
|
||||
|
||||
import com.github.dfa.diaspora_android.R;
|
||||
import com.github.dfa.diaspora_android.util.AppLog;
|
||||
import com.github.dfa.diaspora_android.util.AppSettings;
|
||||
|
||||
/**
|
||||
|
|
@ -153,4 +157,18 @@ public class ThemeHelper {
|
|||
public static int getNeutralGreyColor() {
|
||||
return ContextCompat.getColor(getInstance().appSettings.getApplicationContext(), R.color.md_grey_800);
|
||||
}
|
||||
|
||||
public static void updateAlertDialogColor(AlertDialog alertDialog) {
|
||||
if(alertDialog != null) {
|
||||
for(int i : new int[]{
|
||||
DialogInterface.BUTTON_POSITIVE,
|
||||
DialogInterface.BUTTON_NEUTRAL,
|
||||
DialogInterface.BUTTON_NEGATIVE}) {
|
||||
Button b = alertDialog.getButton(i);
|
||||
if(b != null) {
|
||||
b.setTextColor(getAccentColor());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@ import android.annotation.TargetApi;
|
|||
import android.app.ActivityManager;
|
||||
import android.graphics.drawable.BitmapDrawable;
|
||||
import android.os.Build;
|
||||
import android.support.v4.app.FragmentManager;
|
||||
import android.support.v7.app.AppCompatActivity;
|
||||
|
||||
import com.github.dfa.diaspora_android.App;
|
||||
|
|
|
|||
|
|
@ -0,0 +1,45 @@
|
|||
package com.github.dfa.diaspora_android.ui.theme;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.annotation.StyleRes;
|
||||
import android.support.v7.app.AlertDialog;
|
||||
|
||||
import com.github.dfa.diaspora_android.util.AppSettings;
|
||||
|
||||
/**
|
||||
* AlertDialog Builder that colors its buttons
|
||||
* Created by vanitas on 06.11.16.
|
||||
*/
|
||||
|
||||
public class ThemedAlertDialogBuilder extends AlertDialog.Builder {
|
||||
protected AppSettings appSettings;
|
||||
|
||||
public ThemedAlertDialogBuilder(@NonNull Context context, AppSettings appSettings) {
|
||||
super(context);
|
||||
this.appSettings = appSettings;
|
||||
}
|
||||
|
||||
public ThemedAlertDialogBuilder(@NonNull Context context, @StyleRes int themeResId, AppSettings appSettings) {
|
||||
super(context, themeResId);
|
||||
this.appSettings = appSettings;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AlertDialog create() {
|
||||
final AlertDialog dialog = super.create();
|
||||
dialog.setOnShowListener(new DialogInterface.OnShowListener() {
|
||||
@Override
|
||||
public void onShow(DialogInterface dialogInterface) {
|
||||
applyColors(dialog);
|
||||
}
|
||||
});
|
||||
return dialog;
|
||||
}
|
||||
|
||||
private void applyColors(AlertDialog alertDialog) {
|
||||
ThemeHelper.getInstance(appSettings);
|
||||
ThemeHelper.updateAlertDialogColor(alertDialog);
|
||||
}
|
||||
}
|
||||
|
|
@ -2,6 +2,7 @@ package com.github.dfa.diaspora_android.ui.theme;
|
|||
|
||||
import android.app.Dialog;
|
||||
import android.os.Bundle;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.v7.app.AppCompatDialogFragment;
|
||||
|
||||
import com.github.dfa.diaspora_android.util.AppSettings;
|
||||
|
|
@ -13,6 +14,7 @@ import com.github.dfa.diaspora_android.util.AppSettings;
|
|||
|
||||
public abstract class ThemedAppCompatDialogFragment extends AppCompatDialogFragment {
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public Dialog onCreateDialog(Bundle savedInstanceState) {
|
||||
Dialog dialog = super.onCreateDialog(savedInstanceState);
|
||||
|
|
|
|||
|
|
@ -50,15 +50,15 @@ public class AppSettings {
|
|||
}
|
||||
|
||||
public void clearPodSettings() {
|
||||
prefPod.edit().clear().apply();
|
||||
prefPod.edit().clear().commit();
|
||||
}
|
||||
|
||||
public void clearAppSettings() {
|
||||
prefApp.edit().clear().apply();
|
||||
prefApp.edit().clear().commit();
|
||||
}
|
||||
|
||||
public String getKey(int stringKeyRessourceId) {
|
||||
return context.getString(stringKeyRessourceId);
|
||||
public String getKey(int stringKeyResourceId) {
|
||||
return context.getString(stringKeyResourceId);
|
||||
}
|
||||
|
||||
public boolean isKeyEqual(String key, int stringKeyRessourceId) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue