From 4323c688c58f550d3a30ce0bdcdeb686240cf767 Mon Sep 17 00:00:00 2001 From: serso Date: Sat, 16 Jan 2016 12:55:55 +0100 Subject: [PATCH] History changes --- .../android/calculator/ActivityUi.java | 5 -- .../solovyev/android/calculator/BaseUi.java | 5 ++ .../calculator/CalculatorFragmentType.java | 8 +-- .../android/calculator/FragmentUi.java | 9 +--- .../history/BaseHistoryFragment.java | 49 +++++++------------ .../history/EditHistoryFragment.java | 2 +- .../history/RecentHistoryFragment.java | 2 +- ...tory_fragment.xml => fragment_history.xml} | 0 ...ory_edit.xml => fragment_history_edit.xml} | 0 ...ory_item.xml => fragment_history_item.xml} | 0 10 files changed, 31 insertions(+), 49 deletions(-) rename app/src/main/res/layout/{history_fragment.xml => fragment_history.xml} (100%) rename app/src/main/res/layout/{history_edit.xml => fragment_history_edit.xml} (100%) rename app/src/main/res/layout/{history_item.xml => fragment_history_item.xml} (100%) diff --git a/app/src/main/java/org/solovyev/android/calculator/ActivityUi.java b/app/src/main/java/org/solovyev/android/calculator/ActivityUi.java index f93d063a..9f1c05f5 100644 --- a/app/src/main/java/org/solovyev/android/calculator/ActivityUi.java +++ b/app/src/main/java/org/solovyev/android/calculator/ActivityUi.java @@ -279,11 +279,6 @@ public class ActivityUi extends BaseUi { this.layoutId = layoutId; } - @Nonnull - public Preferences.Gui.Theme getTheme() { - return theme; - } - @Nonnull public Language getLanguage() { return language; diff --git a/app/src/main/java/org/solovyev/android/calculator/BaseUi.java b/app/src/main/java/org/solovyev/android/calculator/BaseUi.java index 137c4915..971625c7 100644 --- a/app/src/main/java/org/solovyev/android/calculator/BaseUi.java +++ b/app/src/main/java/org/solovyev/android/calculator/BaseUi.java @@ -143,6 +143,11 @@ public abstract class BaseUi implements SharedPreferences.OnSharedPreferenceChan } } + @Nonnull + public Preferences.Gui.Theme getTheme() { + return theme; + } + public void logError(@Nonnull String message) { Log.e(logTag, message); } diff --git a/app/src/main/java/org/solovyev/android/calculator/CalculatorFragmentType.java b/app/src/main/java/org/solovyev/android/calculator/CalculatorFragmentType.java index ff7e5015..84176cab 100644 --- a/app/src/main/java/org/solovyev/android/calculator/CalculatorFragmentType.java +++ b/app/src/main/java/org/solovyev/android/calculator/CalculatorFragmentType.java @@ -48,10 +48,10 @@ import javax.annotation.Nonnull; public enum CalculatorFragmentType { editor(CalculatorEditorFragment.class, R.layout.cpp_app_editor, R.string.editor), - //display(CalculatorHistoryFragment.class, "history", R.layout.history_fragment, R.string.c_history), - //keyboard(CalculatorHistoryFragment.class, "history", R.layout.history_fragment, R.string.c_history), - history(RecentHistoryFragment.class, R.layout.history_fragment, R.string.c_history), - saved_history(SavedHistoryFragment.class, R.layout.history_fragment, R.string.c_saved_history), + //display(CalculatorHistoryFragment.class, "history", R.layout.fragment_history, R.string.c_history), + //keyboard(CalculatorHistoryFragment.class, "history", R.layout.fragment_history, R.string.c_history), + history(RecentHistoryFragment.class, R.layout.fragment_history, R.string.c_history), + saved_history(SavedHistoryFragment.class, R.layout.fragment_history, R.string.c_saved_history), variables(CalculatorVarsFragment.class, R.layout.vars_fragment, R.string.c_vars), functions(CalculatorFunctionsFragment.class, R.layout.math_entities_fragment, R.string.c_functions), operators(CalculatorOperatorsFragment.class, R.layout.math_entities_fragment, R.string.c_operators), diff --git a/app/src/main/java/org/solovyev/android/calculator/FragmentUi.java b/app/src/main/java/org/solovyev/android/calculator/FragmentUi.java index 60d14830..7305cab7 100644 --- a/app/src/main/java/org/solovyev/android/calculator/FragmentUi.java +++ b/app/src/main/java/org/solovyev/android/calculator/FragmentUi.java @@ -28,22 +28,15 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; - import org.solovyev.android.checkout.ActivityCheckout; import org.solovyev.android.checkout.Checkout; import org.solovyev.android.checkout.Inventory; import org.solovyev.android.checkout.ProductTypes; -import java.util.Locale; - import javax.annotation.Nonnull; import javax.annotation.Nullable; +import java.util.Locale; -/** - * User: serso - * Date: 9/26/12 - * Time: 10:14 PM - */ public class FragmentUi extends BaseUi { private ActivityCheckout checkout; diff --git a/app/src/main/java/org/solovyev/android/calculator/history/BaseHistoryFragment.java b/app/src/main/java/org/solovyev/android/calculator/history/BaseHistoryFragment.java index 790bb8ee..f8e91512 100644 --- a/app/src/main/java/org/solovyev/android/calculator/history/BaseHistoryFragment.java +++ b/app/src/main/java/org/solovyev/android/calculator/history/BaseHistoryFragment.java @@ -23,12 +23,12 @@ package org.solovyev.android.calculator.history; import android.app.Activity; -import android.app.AlertDialog; import android.content.Context; import android.content.DialogInterface; import android.os.Bundle; import android.support.v4.app.FragmentActivity; import android.support.v4.app.ListFragment; +import android.support.v7.app.AlertDialog; import android.text.ClipboardManager; import android.view.*; import android.widget.AdapterView; @@ -42,24 +42,11 @@ import org.solovyev.android.calculator.jscl.JsclOperation; import org.solovyev.common.text.Strings; import javax.annotation.Nonnull; -import javax.annotation.Nullable; import javax.inject.Inject; import java.util.ArrayList; import java.util.List; public abstract class BaseHistoryFragment extends ListFragment { - - @Nonnull - private final DialogInterface.OnClickListener clearDialogListener = new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - switch (which) { - case DialogInterface.BUTTON_POSITIVE: - clearHistory(); - break; - } - } - }; @Inject History history; @Inject @@ -67,11 +54,9 @@ public abstract class BaseHistoryFragment extends ListFragment { private HistoryArrayAdapter adapter; @Nonnull private FragmentUi ui; - @Nullable - private AlertDialog clearDialog; - protected BaseHistoryFragment(@Nonnull CalculatorFragmentType fragmentType) { - ui = new FragmentUi(fragmentType.getDefaultLayoutId(), fragmentType.getDefaultTitleResId(), false); + protected BaseHistoryFragment(@Nonnull CalculatorFragmentType type) { + ui = new FragmentUi(type.getDefaultLayoutId(), type.getDefaultTitleResId(), false); } @Nonnull @@ -95,7 +80,6 @@ public abstract class BaseHistoryFragment extends ListFragment { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - ((CalculatorApplication) getActivity().getApplication()).getComponent().inject(this); bus.register(this); ui.onCreate(this); @@ -123,12 +107,7 @@ public abstract class BaseHistoryFragment extends ListFragment { fab.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - clearDialog = new AlertDialog.Builder(getActivity()).setTitle(R.string.cpp_clear_history_title) - .setMessage(R.string.cpp_clear_history_message) - .setPositiveButton(R.string.cpp_clear_history, clearDialogListener) - .setNegativeButton(R.string.c_cancel, clearDialogListener) - .create(); - clearDialog.show(); + showClearHistoryDialog(); } }); @@ -144,6 +123,21 @@ public abstract class BaseHistoryFragment extends ListFragment { registerForContextMenu(lv); } + private void showClearHistoryDialog() { + new AlertDialog.Builder(getActivity(), ui.getTheme().alertDialogTheme) + .setTitle(R.string.cpp_clear_history_title) + .setMessage(R.string.cpp_clear_history_message) + .setPositiveButton(R.string.cpp_clear_history, new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + clearHistory(); + } + }) + .setNegativeButton(R.string.c_cancel, null) + .create() + .show(); + } + @Override public void onResume() { super.onResume(); @@ -216,12 +210,7 @@ public abstract class BaseHistoryFragment extends ListFragment { @Override public void onDestroy() { bus.unregister(this); - if (clearDialog != null) { - clearDialog.dismiss(); - clearDialog = null; - } ui.onDestroy(this); - super.onDestroy(); } diff --git a/app/src/main/java/org/solovyev/android/calculator/history/EditHistoryFragment.java b/app/src/main/java/org/solovyev/android/calculator/history/EditHistoryFragment.java index a0099ffb..39fd2f7d 100644 --- a/app/src/main/java/org/solovyev/android/calculator/history/EditHistoryFragment.java +++ b/app/src/main/java/org/solovyev/android/calculator/history/EditHistoryFragment.java @@ -91,7 +91,7 @@ public class EditHistoryFragment extends BaseDialogFragment { @NonNull @Override protected View onCreateDialogView(@NonNull Context context, @NonNull LayoutInflater inflater, @Nullable Bundle savedInstanceState) { - final View view = inflater.inflate(R.layout.history_edit, null); + final View view = inflater.inflate(R.layout.fragment_history_edit, null); ButterKnife.bind(this, view); if (savedInstanceState == null) { expressionView.setText(BaseHistoryFragment.getHistoryText(state)); diff --git a/app/src/main/java/org/solovyev/android/calculator/history/RecentHistoryFragment.java b/app/src/main/java/org/solovyev/android/calculator/history/RecentHistoryFragment.java index 00f325ff..fb810fdb 100644 --- a/app/src/main/java/org/solovyev/android/calculator/history/RecentHistoryFragment.java +++ b/app/src/main/java/org/solovyev/android/calculator/history/RecentHistoryFragment.java @@ -40,7 +40,7 @@ public class RecentHistoryFragment extends BaseHistoryFragment { @Override protected int getItemLayoutId() { - return R.layout.history_item; + return R.layout.fragment_history_item; } @Nonnull diff --git a/app/src/main/res/layout/history_fragment.xml b/app/src/main/res/layout/fragment_history.xml similarity index 100% rename from app/src/main/res/layout/history_fragment.xml rename to app/src/main/res/layout/fragment_history.xml diff --git a/app/src/main/res/layout/history_edit.xml b/app/src/main/res/layout/fragment_history_edit.xml similarity index 100% rename from app/src/main/res/layout/history_edit.xml rename to app/src/main/res/layout/fragment_history_edit.xml diff --git a/app/src/main/res/layout/history_item.xml b/app/src/main/res/layout/fragment_history_item.xml similarity index 100% rename from app/src/main/res/layout/history_item.xml rename to app/src/main/res/layout/fragment_history_item.xml