Skip to content
This repository has been archived by the owner on Jan 11, 2024. It is now read-only.

Commit

Permalink
Passcode Functionality completed
Browse files Browse the repository at this point in the history
  • Loading branch information
miPlodder authored and therajanmaurya committed Jun 12, 2019
1 parent 18b7659 commit 2af08b0
Show file tree
Hide file tree
Showing 8 changed files with 89 additions and 16 deletions.
10 changes: 7 additions & 3 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -31,14 +31,18 @@
android:resource="@xml/filepaths" />
</provider>

<activity android:name=".ui.online.SplashActivity" android:theme="@style/SplashTheme">
<activity
android:name=".ui.online.SplashActivity"
android:theme="@style/SplashTheme">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

<activity android:name=".ui.online.launcher.LauncherActivity"/>
<activity android:name=".ui.online.launcher.LauncherActivity" />

<activity android:name=".ui.online.PassCodeActivity" />

<activity
android:name=".ui.online.login.LoginActivity"
Expand All @@ -50,7 +54,7 @@

<activity android:name=".ui.online.customers.customerpayroll.PayrollActivity" />

<activity android:name=".ui.online.customers.customerpayroll.editcustomerpayroll.EditPayrollActivity"/>
<activity android:name=".ui.online.customers.customerpayroll.editcustomerpayroll.EditPayrollActivity" />

<activity android:name=".ui.online.depositaccounts.depositaccountslist.DepositAccountsActivity" />

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@

import com.crashlytics.android.Crashlytics;
import com.evernote.android.job.JobManager;
import com.mifos.mobile.passcode.utils.ForegroundChecker;
import com.raizlabs.android.dbflow.config.FlowManager;

import org.apache.fineract.injection.component.ApplicationComponent;
Expand Down Expand Up @@ -35,6 +36,7 @@ public void onCreate() {
instance = this;
Fabric.with(this, new Crashlytics());
FlowManager.init(this);
ForegroundChecker.init(this);
}

public static Context getContext() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,18 +6,20 @@
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
import android.view.MenuItem;
import android.view.View;
import android.view.inputmethod.InputMethodManager;

import com.mifos.mobile.passcode.BasePassCodeActivity;

import org.apache.fineract.FineractApplication;
import org.apache.fineract.R;
import org.apache.fineract.injection.component.ActivityComponent;
import org.apache.fineract.injection.component.ConfigPersistentComponent;
import org.apache.fineract.injection.component.DaggerConfigPersistentComponent;
import org.apache.fineract.injection.module.ActivityModule;
import org.apache.fineract.ui.online.PassCodeActivity;

import java.util.HashMap;
import java.util.Map;
Expand All @@ -29,7 +31,7 @@
* creation of Dagger components and makes sure that instances of ConfigPersistentComponent survive
* across configuration changes.
*/
public class FineractBaseActivity extends AppCompatActivity implements BaseActivityCallback {
public class FineractBaseActivity extends BasePassCodeActivity implements BaseActivityCallback {

private static final String KEY_ACTIVITY_ID = "KEY_ACTIVITY_ID";
private static final AtomicLong NEXT_ID = new AtomicLong(0);
Expand Down Expand Up @@ -187,4 +189,9 @@ public void clearFragmentBackStack() {
public int stackCount() {
return getSupportFragmentManager().getBackStackEntryCount();
}

@Override
public Class getPassCodeClass() {
return PassCodeActivity.class;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
package org.apache.fineract.ui.online

import android.content.Intent
import android.os.Bundle
import android.os.PersistableBundle
import android.view.View
import com.mifos.mobile.passcode.MifosPassCodeActivity
import com.mifos.mobile.passcode.utils.EncryptionUtil
import org.apache.fineract.R
import org.apache.fineract.ui.base.Toaster
import org.apache.fineract.ui.online.login.LoginActivity


/*
* Created by saksham on 12/June/2019
*/

class PassCodeActivity : MifosPassCodeActivity() {

override fun onCreate(savedInstanceState: Bundle?, persistentState: PersistableBundle?) {
super.onCreate(savedInstanceState, persistentState)
}

override fun showToaster(view: View?, msg: Int) {
Toaster.show(view, msg, Toaster.SHORT)
}

override fun startLoginActivity() {
startActivity(Intent(this, LoginActivity::class.java))
finish()
}

override fun getLogo(): Int {
return R.drawable.mifos_logo_new
}

override fun getEncryptionType(): Int {
return EncryptionUtil.FINERACT_CN
}

override fun startNextActivity() {
startActivity(Intent(this, DashboardActivity::class.java))
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -14,5 +14,6 @@ class SplashActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
startActivity(Intent(this, LauncherActivity::class.java))
finish()
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,14 @@
import android.content.Intent;
import android.os.Bundle;

import com.mifos.mobile.passcode.utils.PassCodeConstants;

import org.apache.fineract.R;
import org.apache.fineract.data.local.PreferenceKey;
import org.apache.fineract.data.local.PreferencesHelper;
import org.apache.fineract.data.models.Authentication;
import org.apache.fineract.ui.base.FineractBaseActivity;
import org.apache.fineract.ui.online.DashboardActivity;
import org.apache.fineract.ui.online.PassCodeActivity;
import org.apache.fineract.ui.online.login.LoginActivity;
import org.apache.fineract.utils.DateUtils;

Expand Down Expand Up @@ -46,18 +48,19 @@ public void checkAccessTokenExpired() {
if (DateUtils.isTokenExpired(authentication.getAccessTokenExpiration())) {
checkRefreshAccessToken();
} else {
startActivity(DashboardActivity.class);
startPasscodeActivity();
}
} else {
startActivity(LoginActivity.class);
startLoginActivity();
}
finish();
}

@Override
public void checkRefreshAccessToken() {
Authentication authentication = preferencesHelper.getSignedInUser();
if (DateUtils.isTokenExpired(authentication.getRefreshTokenExpiration())) {
startActivity(LoginActivity.class);
startLoginActivity();
} else {
//Refresh access token
preferencesHelper.putBoolean(PreferenceKey.PREF_KEY_REFRESH_ACCESS_TOKEN, true);
Expand All @@ -66,24 +69,30 @@ public void checkRefreshAccessToken() {
}

@Override
public void startActivity(Class aClass) {
Intent intent = new Intent(this, aClass);
public void startLoginActivity() {
Intent intent = new Intent(this, LoginActivity.class);
startActivity(intent);
finish();
}

public void startPasscodeActivity() {
Intent intent = new Intent(this, PassCodeActivity.class);
intent.putExtra(PassCodeConstants.PASSCODE_INITIAL_LOGIN, true);
startActivity(intent);
}

@Override
public void refreshAccessTokenSuccessfully(Authentication authentication) {
preferencesHelper.putBoolean(PreferenceKey.PREF_KEY_REFRESH_ACCESS_TOKEN, false);
preferencesHelper.putAccessToken(authentication.getAccessToken());
preferencesHelper.putSignInUser(authentication);
startActivity(DashboardActivity.class);
startPasscodeActivity();
}

@Override
public void refreshAccessTokenFailed() {
clearCredentials();
startActivity(LoginActivity.class);
startLoginActivity();
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,9 @@ interface View extends MvpView {

void checkRefreshAccessToken();

void startActivity(Class aClass);
void startLoginActivity();

void startPasscodeActivity();

void refreshAccessTokenSuccessfully(Authentication authentication);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,14 @@
import android.widget.EditText;
import android.widget.Toast;

import com.mifos.mobile.passcode.utils.PassCodeConstants;

import org.apache.fineract.R;
import org.apache.fineract.data.local.PreferencesHelper;
import org.apache.fineract.data.models.Authentication;
import org.apache.fineract.ui.base.FineractBaseActivity;
import org.apache.fineract.ui.base.Toaster;
import org.apache.fineract.ui.online.DashboardActivity;
import org.apache.fineract.ui.online.PassCodeActivity;

import javax.inject.Inject;

Expand Down Expand Up @@ -83,7 +85,9 @@ public void showUserLoginSuccessfully(Authentication user) {
preferencesHelper.putAccessToken(user.getAccessToken());
preferencesHelper.putSignInUser(user);
preferencesHelper.putUserName(etUsername.getEditableText().toString().trim());
startActivity(new Intent(this, DashboardActivity.class));
Intent intent = new Intent(this, PassCodeActivity.class);
intent.putExtra(PassCodeConstants.PASSCODE_INITIAL_LOGIN, true);
startActivity(intent);
finish();
Toast.makeText(this, getString(R.string.welcome), Toast.LENGTH_LONG).show();
}
Expand Down

0 comments on commit 2af08b0

Please sign in to comment.