/* Class that handles the Card Notification View seen in the Home Screen * Sets up the app and displays the cards notifying the user of important events */ package com.databases.example.features.home; import android.content.Intent; import android.content.SharedPreferences; import android.os.Bundle; import android.preference.PreferenceManager; import android.support.v4.view.MenuItemCompat; import android.support.v7.widget.SearchView; import android.view.Menu; import android.view.MenuInflater; import android.widget.Toast; import com.databases.example.R; import com.databases.example.app.BaseActivity; import com.databases.example.features.search.SearchWidget; import com.databases.example.utils.Constants; import haibison.android.lockpattern.LockPatternActivity; import haibison.android.lockpattern.utils.AlpSettings; public class MainActivity extends BaseActivity { private static final int LOCKSCREEN_SIGNIN = 1; private final String CARDS_TAG = "cards_tag"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(MainActivity.this); boolean lockEnabled = prefs.getBoolean(getString(R.string.pref_key_lock_enabled), false); if (lockEnabled) { confirmPattern(); } setContentView(R.layout.main); //Add CardsFragment Fragments CardsFragment cards_frag = new CardsFragment(); getSupportFragmentManager().beginTransaction() .replace(R.id.card_frame, cards_frag, CARDS_TAG).commit(); getSupportFragmentManager().executePendingTransactions(); } //For Menu @Override public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.main_menu, menu); new SearchWidget(this, (SearchView) MenuItemCompat.getActionView(menu.findItem(R.id.main_menu_search))); return true; } //Confirm Lockscreen private void confirmPattern() { if (AlpSettings.Security.getPattern(this) != null) { //Log.d("MainActivity", "valueOf getPattern="+String.valueOf(Settings.Security.getPattern(this))); //Log.d("MainActivity", "getPattern="+String.valueOf(Settings.Security.getPattern(this))); Intent intent = new Intent(LockPatternActivity.ACTION_COMPARE_PATTERN, null, MainActivity.this, LockPatternActivity.class); //Intent intentForget = new Intent(this, PatternRetrievalActivity.class); //intent.putExtra(LockPatternActivity.EXTRA_INTENT_ACTIVITY_FORGOT_PATTERN, intentForget); startActivityForResult(intent, LOCKSCREEN_SIGNIN); } else { Toast.makeText(MainActivity.this, "Cannot Use Lockscreen\nNo Pattern Set Yet", Toast.LENGTH_LONG).show(); } } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { switch (requestCode) { case LOCKSCREEN_SIGNIN: switch (resultCode) { case RESULT_OK: Toast.makeText(MainActivity.this, "Sign In\nAccepted", Toast.LENGTH_SHORT).show(); break; case RESULT_CANCELED: Toast.makeText(MainActivity.this, "Sign In\nCanceled", Toast.LENGTH_SHORT).show(); this.finish(); this.moveTaskToBack(true); super.onDestroy(); break; case LockPatternActivity.RESULT_FAILED: Toast.makeText(MainActivity.this, "Sign In\nFailed", Toast.LENGTH_SHORT).show(); this.finish(); this.moveTaskToBack(true); super.onDestroy(); break; case LockPatternActivity.RESULT_FORGOT_PATTERN: SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(MainActivity.this); boolean lockEnabled = prefs.getBoolean(getString(R.string.pref_key_lock_enabled), false); if (!lockEnabled) { Toast.makeText(MainActivity.this, "Sign In\nReset", Toast.LENGTH_SHORT).show(); } else { Toast.makeText(MainActivity.this, "Sign In\nForgotten", Toast.LENGTH_SHORT).show(); } break; } } } @Override public Constants.ActivityTag setDrawerTag() { return Constants.ActivityTag.MAIN; } }