use of in.testpress.testpress.models.DaoSession in project android by testpress.
the class LoginActivity method onCreate.
@Override
public void onCreate(Bundle bundle) {
super.onCreate(bundle);
Injector.inject(this);
accountManager = AccountManager.get(this);
final Intent intent = getIntent();
username = intent.getStringExtra(PARAM_USERNAME);
authTokenType = intent.getStringExtra(PARAM_AUTHTOKEN_TYPE);
confirmCredentials = intent.getBooleanExtra(PARAM_CONFIRM_CREDENTIALS, false);
requestNewAccount = username == null;
if (AccessToken.getCurrentAccessToken() != null) {
LoginManager.getInstance().logOut();
}
setContentView(layout.login_activity);
ButterKnife.inject(this);
UIUtils.setIndeterminateDrawable(this, progressBar, 4);
passwordText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
public boolean onEditorAction(final TextView v, final int actionId, final KeyEvent event) {
if (actionId == IME_ACTION_SEND && signInButton.isEnabled()) {
signIn();
return true;
}
return false;
}
});
usernameText.addTextChangedListener(watcher);
usernameText.setSingleLine();
passwordText.addTextChangedListener(watcher);
passwordText.setTypeface(Typeface.DEFAULT);
passwordText.setTransformationMethod(new PasswordTransformationMethod());
callbackManager = CallbackManager.Factory.create();
fbLoginButton.invalidate();
fbLoginButton.setReadPermissions("email");
fbLoginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
loginLayout.setVisibility(View.GONE);
username = loginResult.getAccessToken().getUserId();
authenticate(loginResult.getAccessToken().getUserId(), loginResult.getAccessToken().getToken(), TestpressSdk.Provider.FACEBOOK);
}
@Override
public void onCancel() {
}
@Override
public void onError(FacebookException error) {
if (error.getMessage().contains("CONNECTION_FAILURE")) {
showAlert(getString(R.string.no_internet_try_again));
} else {
Log.e("Facebook sign in error", "check hashes");
showAlert(getString(R.string.something_went_wrong_please_try_after));
}
}
});
GoogleSignInOptions googleSignInOptions = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN).requestEmail().requestIdToken(getString(R.string.server_client_id)).build();
googleApiClient = new GoogleApiClient.Builder(this).enableAutoManage(this, new GoogleApiClient.OnConnectionFailedListener() {
@Override
public void onConnectionFailed(@NonNull ConnectionResult connectionResult) {
if (connectionResult.getErrorMessage() != null) {
showAlert(connectionResult.getErrorMessage());
} else {
showAlert(connectionResult.toString());
}
}
}).addApi(Auth.GOOGLE_SIGN_IN_API, googleSignInOptions).build();
orLabel.setTypeface(TestpressSdk.getRubikMediumFont(this));
DaoSession daoSession = ((TestpressApplication) getApplicationContext()).getDaoSession();
instituteSettingsDao = daoSession.getInstituteSettingsDao();
List<InstituteSettings> instituteSettingsList = instituteSettingsDao.queryBuilder().where(InstituteSettingsDao.Properties.BaseUrl.eq(Constants.Http.URL_BASE)).list();
if (instituteSettingsList.size() == 0) {
getInstituteSettings();
} else {
instituteSettings = instituteSettingsList.get(0);
updateInstituteSpecificFields();
}
}
use of in.testpress.testpress.models.DaoSession in project android by testpress.
the class RegisterActivity method onCreate.
@Override
public void onCreate(Bundle bundle) {
super.onCreate(bundle);
Injector.inject(this);
setContentView(R.layout.register_activity);
ButterKnife.inject(this);
DaoSession daoSession = ((TestpressApplication) getApplicationContext()).getDaoSession();
InstituteSettingsDao instituteSettingsDao = daoSession.getInstituteSettingsDao();
List<InstituteSettings> instituteSettingsList = instituteSettingsDao.queryBuilder().where(InstituteSettingsDao.Properties.BaseUrl.eq(Constants.Http.URL_BASE)).list();
if (instituteSettingsList.size() != 0) {
InstituteSettings instituteSettings = instituteSettingsList.get(0);
verificationMethod = instituteSettings.getVerificationMethod().equals("M") ? MOBILE : EMAIL;
} else {
// Never happen, just for a safety.
finish();
}
confirmPasswordText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
public boolean onEditorAction(final TextView v, final int actionId, final KeyEvent event) {
if (actionId == IME_ACTION_DONE && registerButton.isEnabled()) {
register();
return true;
}
return false;
}
});
usernameText.addTextChangedListener(watcher);
passwordText.addTextChangedListener(watcher);
emailText.addTextChangedListener(watcher);
if (verificationMethod.equals(MOBILE)) {
phoneText.addTextChangedListener(watcher);
phoneLayout.setVisibility(View.VISIBLE);
} else {
phoneLayout.setVisibility(View.GONE);
}
confirmPasswordText.addTextChangedListener(watcher);
}
use of in.testpress.testpress.models.DaoSession in project android by testpress.
the class MainActivity method onCreate.
@Override
protected void onCreate(final Bundle savedInstanceState) {
Injector.inject(this);
super.onCreate(savedInstanceState);
setContentView(R.layout.main_activity);
ButterKnife.inject(this);
if (savedInstanceState != null) {
mSelectedItem = savedInstanceState.getInt(SELECTED_ITEM);
}
viewPager.setVisibility(View.INVISIBLE);
mRegistrationBroadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
CommonUtils.registerDevice(MainActivity.this, testpressService, serviceProvider);
}
};
DaoSession daoSession = ((TestpressApplication) getApplicationContext()).getDaoSession();
instituteSettingsDao = daoSession.getInstituteSettingsDao();
fetchInstituteSettings();
}
use of in.testpress.testpress.models.DaoSession in project android by testpress.
the class MainMenuFragment method onViewCreated.
@Override
public void onViewCreated(final View view, final Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
ButterKnife.inject(this, view);
recyclerView.setLayoutManager(new LinearLayoutManager(recyclerView.getContext()));
fetchStarredCategories();
AccountManager manager = (AccountManager) getActivity().getSystemService(Context.ACCOUNT_SERVICE);
account = manager.getAccountsByType(Constants.Auth.TESTPRESS_ACCOUNT_TYPE);
DaoSession daoSession = ((TestpressApplication) getActivity().getApplicationContext()).getDaoSession();
InstituteSettingsDao instituteSettingsDao = daoSession.getInstituteSettingsDao();
InstituteSettings instituteSettings = instituteSettingsDao.queryBuilder().where(InstituteSettingsDao.Properties.BaseUrl.eq(Constants.Http.URL_BASE)).list().get(0);
LinkedHashMap<Integer, Integer> mMenuItemResIds = new LinkedHashMap<>();
final boolean isUserAuthenticated = account.length > 0;
if (isUserAuthenticated) {
if (!instituteSettings.getShowGameFrontend()) {
mMenuItemResIds.put(R.string.my_exams, R.drawable.exams);
}
if (instituteSettings.getDocumentsEnabled()) {
mMenuItemResIds.put(R.string.documents, R.drawable.documents);
}
mMenuItemResIds.put(R.string.analytics, R.drawable.analytics);
mMenuItemResIds.put(R.string.profile, R.drawable.ic_profile_details);
}
if (instituteSettings.getStoreEnabled()) {
mMenuItemResIds.put(R.string.store, R.drawable.store);
}
if (instituteSettings.getPostsEnabled()) {
mMenuItemResIds.put(R.string.posts, R.drawable.posts);
}
mMenuItemResIds.put(R.string.share, R.drawable.share);
mMenuItemResIds.put(R.string.rate_us, R.drawable.heart);
if (isUserAuthenticated) {
mMenuItemResIds.put(R.string.logout, R.drawable.logout);
} else {
mMenuItemResIds.put(R.string.login, R.drawable.login);
}
MainMenuGridAdapter adapter = new MainMenuGridAdapter(getActivity(), mMenuItemResIds);
grid = (GridView) view.findViewById(R.id.grid);
grid.setAdapter(adapter);
grid.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent intent;
switch((int) id) {
case R.string.my_exams:
checkAuthenticatedUser(R.string.my_exams);
break;
case R.string.store:
intent = new Intent(getActivity(), ProductsListActivity.class);
startActivity(intent);
break;
case R.string.documents:
intent = new Intent(getActivity(), DocumentsListActivity.class);
startActivity(intent);
break;
case R.string.orders:
intent = new Intent(getActivity(), OrdersListActivity.class);
startActivity(intent);
break;
case R.string.posts:
intent = new Intent(getActivity(), PostsListActivity.class);
intent.putExtra("userAuthenticated", isUserAuthenticated);
startActivity(intent);
break;
case R.string.analytics:
checkAuthenticatedUser(R.string.analytics);
break;
case R.string.profile:
intent = new Intent(getActivity(), ProfileDetailsActivity.class);
startActivity(intent);
break;
case R.string.share:
shareApp();
break;
case R.string.rate_us:
rateApp();
break;
case R.string.logout:
((MainActivity) getActivity()).logout();
break;
case R.string.login:
intent = new Intent(getActivity(), LoginActivity.class);
intent.putExtra(Constants.DEEP_LINK_TO, "home");
startActivity(intent);
break;
}
}
});
}
use of in.testpress.testpress.models.DaoSession in project android by testpress.
the class TestpressServiceProvider method logout.
public void logout(final Activity activity, TestpressService testpressService, TestpressServiceProvider serviceProvider, LogoutService logoutService) {
final ProgressDialog progressDialog = new ProgressDialog(activity, R.style.AppCompatAlertDialogStyle);
progressDialog.setTitle(R.string.label_logging_out);
progressDialog.setMessage(activity.getString(R.string.please_wait));
progressDialog.setCancelable(false);
UIUtils.setIndeterminateDrawable(activity, progressDialog, 4);
progressDialog.show();
serviceProvider.invalidateAuthToken(activity);
SharedPreferences preferences = activity.getSharedPreferences(Constants.GCM_PREFERENCE_NAME, Context.MODE_PRIVATE);
preferences.edit().putBoolean(GCMPreference.SENT_TOKEN_TO_SERVER, false).apply();
CommonUtils.registerDevice(activity, testpressService, serviceProvider);
DaoSession daoSession = ((TestpressApplication) activity.getApplicationContext()).getDaoSession();
PostDao postDao = daoSession.getPostDao();
postDao.deleteAll();
daoSession.clear();
TestpressSdk.clearActiveSession(activity);
TestpressSDKDatabase.clearDatabase(activity);
logoutService.logout(new Runnable() {
@Override
public void run() {
Intent intent;
if (activity.getClass() == MainActivity.class) {
intent = activity.getIntent();
} else {
intent = new Intent(activity, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
}
progressDialog.dismiss();
activity.finish();
activity.startActivity(intent);
}
});
}
Aggregations