package org.maepaysoh.maepaysoh.ui; import android.content.Intent; import android.graphics.PorterDuff; import android.os.AsyncTask; import android.os.Bundle; import android.preference.PreferenceManager; import android.support.v7.widget.Toolbar; import android.util.Log; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.Button; import android.widget.LinearLayout; import android.widget.ProgressBar; import android.widget.Toast; import org.maepaysoh.maepaysoh.Constants; import org.maepaysoh.maepaysoh.MaePaySoh; import org.maepaysoh.maepaysoh.R; import org.maepaysoh.maepaysoh.utils.InternetUtils; import org.maepaysoh.maepaysoh.utils.ViewUtils; import org.maepaysoh.maepaysohsdk.MaePaySohApiWrapper; /** * Created by Ye Lin Aung on 15/08/03. */ public class HomeActivity extends BaseActivity { MaePaySohApiWrapper maePaySohApiWrapper; private Toolbar mToolbar; private View mToolbarShadow; private Button mPartyListBtn; private Button mCandidateListBtn; private Button mFaqListBtn; private Button mLocationListBtn; private Button mMyLocationBtn; private LinearLayout mMainContent; private ProgressBar mProgressBar; private ViewUtils mViewUtils; private TokenKeyGenerateClass mTokenClass; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_home); mToolbar = (Toolbar) findViewById(R.id.home_toolbar); mToolbarShadow = findViewById(R.id.home_toolbar_shadow); mPartyListBtn = (Button) findViewById(R.id.home_party_list_btn); mCandidateListBtn = (Button) findViewById(R.id.home_candidate_list_btn); mFaqListBtn = (Button) findViewById(R.id.home_faq_list_btn); mLocationListBtn = (Button) findViewById(R.id.home_location_list_btn); mMyLocationBtn = (Button) findViewById(R.id.my_location); mMainContent = (LinearLayout) findViewById(R.id.main_content); mProgressBar = (ProgressBar) findViewById(R.id.home_progress_bar); mProgressBar.getIndeterminateDrawable() .setColorFilter(getResources().getColor(R.color.primary), PorterDuff.Mode.SRC_ATOP); mViewUtils = new ViewUtils(this); hideToolBarShadowForLollipop(mToolbar, mToolbarShadow); setSupportActionBar(mToolbar); String apiKey = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()) .getString(Constants.API_KEY, ""); Log.d("apikey", apiKey); if (apiKey.length() > 0) { maePaySohApiWrapper = MaePaySoh.getMaePaySohWrapper(); maePaySohApiWrapper.setTokenKey(apiKey); inflateLayout(); } else { if (!InternetUtils.isNetworkAvailable(this)) { Toast.makeText(this, "You need to enable Internet first time", Toast.LENGTH_LONG).show(); return; } mTokenClass = new TokenKeyGenerateClass(); mViewUtils.showProgress(mMainContent, mProgressBar, true); mTokenClass.execute(); } } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.menu_home, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.change_font: showFontChooserDialog(true); return true; default: return super.onOptionsItemSelected(item); } } private void inflateLayout() { boolean firstTime = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()) .getBoolean(Constants.FIRST_TIME, true); if (firstTime) { showFontChooserDialog(false); } mPartyListBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent goToPartyList = new Intent(HomeActivity.this, PartyListActivity.class); startActivity(goToPartyList); } }); mCandidateListBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent goToCandidateList = new Intent(HomeActivity.this, CandidateListActivity.class); startActivity(goToCandidateList); } }); mFaqListBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent goToFaqList = new Intent(HomeActivity.this, FaqListActivity.class); startActivity(goToFaqList); } }); mLocationListBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent goToLocationList = new Intent(HomeActivity.this, LocationListActivity.class); startActivity(goToLocationList); } }); mMyLocationBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent goToMyLocation = new Intent(HomeActivity.this, MyLocationActivity.class); startActivity(goToMyLocation); } }); } @Override protected void onPause() { super.onPause(); if (mTokenClass != null && !mTokenClass.isCancelled()) { mTokenClass.cancel(true); } } class TokenKeyGenerateClass extends AsyncTask<Void, Void, String> { @Override protected String doInBackground(Void... voids) { maePaySohApiWrapper = MaePaySoh.getMaePaySohWrapper(); return maePaySohApiWrapper.getTokenKey(); } @Override protected void onPostExecute(String s) { super.onPostExecute(s); mViewUtils.showProgress(mMainContent, mProgressBar, false); maePaySohApiWrapper.setTokenKey(s); PreferenceManager.getDefaultSharedPreferences(getApplicationContext()) .edit() .putString(Constants.API_KEY, s) .apply(); inflateLayout(); } } }