1
0
mirror of https://github.com/etesync/android synced 2025-02-23 13:02:04 +00:00

HintManager: simplify by moving to strings and removing the need to register

This commit is contained in:
Tom Hacohen 2017-04-07 09:47:47 +01:00
parent f89b225852
commit c95aaaf5fd
5 changed files with 11 additions and 27 deletions

View File

@ -78,7 +78,7 @@ import static android.content.ContentResolver.SYNC_OBSERVER_TYPE_ACTIVE;
public class AccountActivity extends AppCompatActivity implements Toolbar.OnMenuItemClickListener, PopupMenu.OnMenuItemClickListener, LoaderManager.LoaderCallbacks<AccountActivity.AccountInfo>, Refreshable { public class AccountActivity extends AppCompatActivity implements Toolbar.OnMenuItemClickListener, PopupMenu.OnMenuItemClickListener, LoaderManager.LoaderCallbacks<AccountActivity.AccountInfo>, Refreshable {
public static final String EXTRA_ACCOUNT = "account"; public static final String EXTRA_ACCOUNT = "account";
private static final HintManager.Hint HINT_VIEW_COLLECTION = HintManager.registerHint("ViewCollection"); private static final String HINT_VIEW_COLLECTION = "ViewCollection";
private Account account; private Account account;
private AccountInfo accountInfo; private AccountInfo accountInfo;

View File

@ -42,7 +42,7 @@ import static com.etesync.syncadapter.BuildConfig.DEBUG;
import static com.etesync.syncadapter.Constants.serviceUrl; import static com.etesync.syncadapter.Constants.serviceUrl;
public class AccountsActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener, SyncStatusObserver { public class AccountsActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener, SyncStatusObserver {
public static final HintManager.Hint HINT_ACCOUNT_ADD = HintManager.registerHint("AddAccount"); public static final String HINT_ACCOUNT_ADD = "AddAccount";
private Snackbar syncStatusSnackbar; private Snackbar syncStatusSnackbar;
private Object syncStatusObserver; private Object syncStatusObserver;

View File

@ -32,8 +32,8 @@ import java.util.LinkedList;
import java.util.List; import java.util.List;
public class StartupDialogFragment extends DialogFragment { public class StartupDialogFragment extends DialogFragment {
private static final HintManager.Hint private static final String
HINT_BATTERY_OPTIMIZATIONS = HintManager.registerHint("BatteryOptimizations"); HINT_BATTERY_OPTIMIZATIONS = "BatteryOptimizations";
private static final String ARGS_MODE = "mode"; private static final String ARGS_MODE = "mode";

View File

@ -45,7 +45,7 @@ import tourguide.tourguide.ToolTip;
import tourguide.tourguide.TourGuide; import tourguide.tourguide.TourGuide;
public class ViewCollectionActivity extends AppCompatActivity implements Refreshable { public class ViewCollectionActivity extends AppCompatActivity implements Refreshable {
private final static HintManager.Hint HINT_IMPORT = HintManager.registerHint("import"); private final static String HINT_IMPORT = "Import";
public final static String EXTRA_ACCOUNT = "account", public final static String EXTRA_ACCOUNT = "account",
EXTRA_COLLECTION_INFO = "collectionInfo"; EXTRA_COLLECTION_INFO = "collectionInfo";

View File

@ -9,42 +9,26 @@ import java.util.List;
public class HintManager { public class HintManager {
private final static String PREF_NAME = "hints"; private final static String PREF_NAME = "hints";
private static List<Hint> hints = new LinkedList<>();
public static Hint registerHint(String hint) {
hint = "hint_" + hint;
Hint ret = new Hint(hint);
hints.add(ret);
return ret;
}
private static SharedPreferences getPrefs(Context context) { private static SharedPreferences getPrefs(Context context) {
return context.getSharedPreferences(PREF_NAME, Context.MODE_PRIVATE); return context.getSharedPreferences(PREF_NAME, Context.MODE_PRIVATE);
} }
public static void setHintSeen(Context context, Hint hint, boolean seen) { public static void setHintSeen(Context context, String hint, boolean seen) {
SharedPreferences prefs = getPrefs(context); SharedPreferences prefs = getPrefs(context);
prefs.edit().putBoolean(hint.string, seen).apply(); prefs.edit().putBoolean(hint, seen).apply();
} }
public static boolean getHintSeen(Context context, Hint hint) { public static boolean getHintSeen(Context context, String hint) {
SharedPreferences prefs = getPrefs(context); SharedPreferences prefs = getPrefs(context);
return prefs.getBoolean(hint.string, false); return prefs.getBoolean(hint, false);
} }
public static void resetHints(Context context) { public static void resetHints(Context context) {
for (Hint hint : hints) { SharedPreferences prefs = getPrefs(context);
setHintSeen(context, hint, false);
}
}
public static class Hint { prefs.edit().clear().apply();
private String string;
private Hint(String hint) {
this.string = hint;
}
} }
} }