package com.mmmoussa.iqra; import android.content.Context; import android.content.SharedPreferences; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.MenuItem; import android.view.View; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.Spinner; import com.google.android.gms.analytics.HitBuilders; import com.google.android.gms.analytics.Tracker; import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class SettingsActivity extends AppCompatActivity { private Spinner translationSpinner; private List<String> translationShortForms; private Context context; private SharedPreferences prefs; private Tracker mTracker; private String screenName = "Settings"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_settings); android.support.v7.app.ActionBar ab = getSupportActionBar(); if (ab != null) { ab.setDisplayHomeAsUpEnabled(true); ab.setElevation(0); ab.setTitle(getResources().getString(R.string.settings_title)); } // Obtain the shared Tracker instance. AnalyticsApplication application = (AnalyticsApplication) getApplication(); mTracker = application.getDefaultTracker(); context = this; prefs = this.getSharedPreferences("com.mmmoussa.iqra", MODE_PRIVATE); translationShortForms = new ArrayList<>(Arrays.asList(getResources().getStringArray(R.array.translation_code))); String currentTranslation = prefs.getString("translation", "en-hilali"); int currentTranslationIndex = translationShortForms.indexOf(currentTranslation); if (currentTranslationIndex == -1) { // This should never run but just in case... currentTranslationIndex = 1; } translationSpinner = (Spinner) findViewById(R.id.translationSpinner); ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.translation_spinner_item, getResources().getStringArray(R.array.translation_array)); translationSpinner.setAdapter(adapter); translationSpinner.setSelection(currentTranslationIndex); Button saveButton = (Button) findViewById(R.id.saveButton); saveButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { prefs.edit().putString("translation", translationShortForms.get(translationSpinner.getSelectedItemPosition())).apply(); finish(); } }); } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: finish(); return true; default: return super.onOptionsItemSelected(item); } } @Override protected void onResume() { super.onResume(); mTracker.setScreenName(screenName); mTracker.send(new HitBuilders.ScreenViewBuilder().build()); } }