mirror of
https://github.com/etesync/android
synced 2025-02-22 12:32:03 +00:00
HintManager: simplify by moving to strings and removing the need to register
This commit is contained in:
parent
f89b225852
commit
c95aaaf5fd
@ -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 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 AccountInfo accountInfo;
|
||||
|
@ -42,7 +42,7 @@ import static com.etesync.syncadapter.BuildConfig.DEBUG;
|
||||
import static com.etesync.syncadapter.Constants.serviceUrl;
|
||||
|
||||
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 Object syncStatusObserver;
|
||||
|
@ -32,8 +32,8 @@ import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
|
||||
public class StartupDialogFragment extends DialogFragment {
|
||||
private static final HintManager.Hint
|
||||
HINT_BATTERY_OPTIMIZATIONS = HintManager.registerHint("BatteryOptimizations");
|
||||
private static final String
|
||||
HINT_BATTERY_OPTIMIZATIONS = "BatteryOptimizations";
|
||||
|
||||
private static final String ARGS_MODE = "mode";
|
||||
|
||||
|
@ -45,7 +45,7 @@ import tourguide.tourguide.ToolTip;
|
||||
import tourguide.tourguide.TourGuide;
|
||||
|
||||
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",
|
||||
EXTRA_COLLECTION_INFO = "collectionInfo";
|
||||
|
||||
|
@ -9,42 +9,26 @@ import java.util.List;
|
||||
|
||||
public class HintManager {
|
||||
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) {
|
||||
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);
|
||||
|
||||
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);
|
||||
|
||||
return prefs.getBoolean(hint.string, false);
|
||||
return prefs.getBoolean(hint, false);
|
||||
}
|
||||
|
||||
public static void resetHints(Context context) {
|
||||
for (Hint hint : hints) {
|
||||
setHintSeen(context, hint, false);
|
||||
}
|
||||
}
|
||||
SharedPreferences prefs = getPrefs(context);
|
||||
|
||||
public static class Hint {
|
||||
private String string;
|
||||
private Hint(String hint) {
|
||||
this.string = hint;
|
||||
}
|
||||
prefs.edit().clear().apply();
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user