1
0
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:
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 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;

View File

@ -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;

View File

@ -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";

View File

@ -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";

View File

@ -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();
}
}