package org.commcare.activities;
import android.content.Intent;
import android.os.Bundle;
import android.preference.Preference;
import android.preference.PreferenceActivity;
import android.view.MenuItem;
import org.commcare.CommCareApplication;
import org.commcare.dalvik.R;
import org.commcare.google.services.analytics.GoogleAnalyticsFields;
import org.commcare.google.services.analytics.GoogleAnalyticsUtils;
import org.commcare.preferences.CommCarePreferences;
import org.javarosa.core.services.locale.Localization;
import java.util.HashMap;
import java.util.Map;
/**
* @author Aliza Stone (astone@dimagi.com), created 6/9/16.
*/
public class AppManagerAdvancedSettings extends PreferenceActivity {
private final static String ENABLE_PRIVILEGE = "enable-mobile-privilege";
private final static String CLEAR_USER_DATA = "clear-user-data";
private final static Map<String, String> keyToTitleMap = new HashMap<>();
static {
keyToTitleMap.put(ENABLE_PRIVILEGE, "menu.enable.privilege");
keyToTitleMap.put(CLEAR_USER_DATA, "clear.user.data");
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.app_manager_preferences);
GoogleAnalyticsUtils.reportPrefActivityEntry(GoogleAnalyticsFields.CATEGORY_APP_MANAGER);
setupUI();
}
private void setupUI() {
setTitle(Localization.get("app.manager.advanced.settings.title"));
CommCarePreferences.addBackButtonToActionBar(this);
CommCarePreferences.setupLocalizedText(this, keyToTitleMap);
setupButtons();
}
private void setupButtons() {
Preference enablePrivilegesButton = findPreference(ENABLE_PRIVILEGE);
enablePrivilegesButton.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
GoogleAnalyticsUtils.reportAdvancedActionItemClick(GoogleAnalyticsFields.ACTION_ENABLE_PRIVILEGES);
launchPrivilegeClaimActivity();
return true;
}
});
Preference clearUserDataButton = findPreference(CLEAR_USER_DATA);
clearUserDataButton.setEnabled(!"".equals(CommCareApplication.instance().getCurrentUserId()));
clearUserDataButton.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
GoogleAnalyticsUtils.reportAdvancedActionItemClick(GoogleAnalyticsFields.ACTION_CLEAR_USER_DATA);
AdvancedActionsActivity.clearUserData(AppManagerAdvancedSettings.this);
return true;
}
});
}
private void launchPrivilegeClaimActivity() {
Intent i = new Intent(this, GlobalPrivilegeClaimingActivity.class);
startActivity(i);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
// Respond to the action bar's Up/Home button
case android.R.id.home:
finish();
return true;
}
return super.onOptionsItemSelected(item);
}
}