package com.nexchanges.hailyo;
import android.accounts.Account;
import android.accounts.AccountManager;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.TelephonyManager;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import com.digits.sdk.android.Digits;
import com.nexchanges.hailyo.model.SessionRecorder;
import com.nexchanges.hailyo.model.SharedPrefs;
import com.nexchanges.hailyo.utils.Logger;
import android.widget.Toast;
import com.digits.sdk.android.AuthCallback;
import com.digits.sdk.android.DigitsException;
import com.digits.sdk.android.DigitsSession;
import com.digits.sdk.android.*;
/**
* Created by Abhishek on 28/04/15.
*/
public class LoginActivity extends Activity {
Button enter;
private static final String TAG = InitialActivity.class.getSimpleName();
String namAcc, subNameAcc;
Boolean ab;
Context context;
String finnum, pnum, provideDigitsNumber;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.home_splash);
context=this;
// provideDigitsNumber = "+91" + getMyNumber();
enter = (Button) findViewById(R.id.enterbut);
enter.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Log.i(TAG, "Final value obtained is " + provideDigitsNumber);
//if (provideDigitsNumber.isEmpty())
Digits.authenticate(authCallback, R.style.DigitsLoginTheme);
//else Digits.authenticate(authCallback, provideDigitsNumber);
}
});
}
@Override
protected void onStop() {
super.onStop();
authCallback = null;
}
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
}
private AuthCallback authCallback = new AuthCallback() {
@Override
public void success(DigitsSession session, final String phoneNumber) {
SessionRecorder.recordSessionActive("Login: digits account active", session);
// Create a ParseUser object to create a new user
navigateToHome(phoneNumber);
//
Logger.writeLogs(Logger.LogLevel.INFO, "Success");
}
@Override
public void failure(DigitsException e) {
Toast.makeText(getApplicationContext(),
getResources().getString(R.string.toast_twitter_digits_fail),
Toast.LENGTH_SHORT).show();
}
};
public void navigateToHome(String phoneNumber) {
Intent intent = new Intent(LoginActivity.this, ChooseRoleActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
SharedPrefs.save(context, SharedPrefs.MY_MOBILE_KEY, phoneNumber);
startActivity(intent);
finish();
}
@Override
public void onBackPressed() {
//do nothing
}
@Override
protected void onPause() {
super.onPause();
SharedPrefs.save(context, SharedPrefs.LAST_ACTIVITY_KEY, getClass().getName());
// Logs 'app deactivate' App Event.
}
private String getMyNumber()
{
finnum = "";
TelephonyManager tm = (TelephonyManager)context.getSystemService(TELEPHONY_SERVICE);
String mPhoneNumber = tm.getLine1Number();
if (!mPhoneNumber.isEmpty())
{
finnum = mPhoneNumber;
}
else {
String pn;
pn = getNumberfromApp();
finnum = pn;
}
return finnum ;
}
private String getNumberfromApp()
{
AccountManager am = AccountManager.get(this);
Account[] accounts = am.getAccounts();
pnum = " ";
for (Account ac : accounts) {
String acname = ac.name;
String actype = ac.type;
// Take your time to look at all available accounts
System.out.println("Accounts : " + acname + ", " + actype);
if (actype.equalsIgnoreCase("com.viber.voip.account"))
{ String namAcc = ac.name;
if (android.text.TextUtils.isDigitsOnly(ac.name))
{
pnum = ac.name;
}
else if (namAcc.startsWith("+")) {
subNameAcc = namAcc.substring(3);
ab = android.text.TextUtils.isDigitsOnly(subNameAcc);
Log.i(TAG, "Boolean value of ab is " + ab);
if (ab)
pnum = subNameAcc;
}
else
pnum = "";
}
else if (acname.startsWith("91"))
{
pnum = ac.name;
}
else pnum = "";
}
Log.i(TAG, "Final value returned is " + pnum);
return pnum;
}
}