diff --git a/app/src/main/java/org/mian/gitnex/activities/LoginActivity.java b/app/src/main/java/org/mian/gitnex/activities/LoginActivity.java index bfdb8afa..d2d092af 100644 --- a/app/src/main/java/org/mian/gitnex/activities/LoginActivity.java +++ b/app/src/main/java/org/mian/gitnex/activities/LoginActivity.java @@ -550,6 +550,7 @@ public class LoginActivity extends AppCompatActivity implements View.OnClickList List userTokens = response.body(); final TinyDB tinyDb = new TinyDB(getApplicationContext()); + final AppUtil appUtil = new AppUtil(); //Headers responseHeaders = response.headers(); if (response.isSuccessful()) { @@ -560,13 +561,30 @@ public class LoginActivity extends AppCompatActivity implements View.OnClickList assert userTokens != null; if (userTokens.size() > 0) { - for (int i = 0; i < userTokens.size(); i++) { - if (userTokens.get(i).getSha1().equals(tinyDb.getString(loginUid + "-token"))) { - setTokenFlag = true; - break; + + if(userTokens.get(0).getToken_last_eight() != null) { + + for (int i = 0; i < userTokens.size(); i++) { + if (userTokens.get(i).getToken_last_eight().equals(tinyDb.getString(loginUid + "-token-last-eight"))) { + setTokenFlag = true; + break; + } + //Log.i("Tokens: ", userTokens.get(i).getToken_last_eight()); } - //Log.i("Tokens: ", userTokens.get(i).getSha1()); + } + else { + + for (int i = 0; i < userTokens.size(); i++) { + if (userTokens.get(i).getSha1().equals(tinyDb.getString(loginUid + "-token"))) { + setTokenFlag = true; + break; + } + //Log.i("Tokens: ", userTokens.get(i).getSha1()); + } + + } + } if(tinyDb.getString(loginUid + "-token").isEmpty() || !setTokenFlag) { @@ -605,6 +623,7 @@ public class LoginActivity extends AppCompatActivity implements View.OnClickList tinyDb.remove("loginPass"); tinyDb.putBoolean("loggedInMode", true); tinyDb.putString(loginUid + "-token", newToken.getSha1()); + tinyDb.putString(loginUid + "-token-last-eight", appUtil.getLastCharactersOfWord(newToken.getSha1(), 8)); //Log.i("Tokens", "new:" + newToken.getSha1() + " old:" + tinyDb.getString(loginUid + "-token")); startActivity(new Intent(LoginActivity.this, MainActivity.class)); diff --git a/app/src/main/java/org/mian/gitnex/models/UserTokens.java b/app/src/main/java/org/mian/gitnex/models/UserTokens.java index b1269380..7bd17e86 100644 --- a/app/src/main/java/org/mian/gitnex/models/UserTokens.java +++ b/app/src/main/java/org/mian/gitnex/models/UserTokens.java @@ -9,6 +9,7 @@ public class UserTokens { private int id; private String name; private String sha1; + private String token_last_eight; public UserTokens(String name) { this.name = name; @@ -29,4 +30,8 @@ public class UserTokens { public void setName(String name) { this.name = name; } + + public String getToken_last_eight() { + return token_last_eight; + } } diff --git a/app/src/main/java/org/mian/gitnex/util/AppUtil.java b/app/src/main/java/org/mian/gitnex/util/AppUtil.java index 66e8116e..7fee1811 100644 --- a/app/src/main/java/org/mian/gitnex/util/AppUtil.java +++ b/app/src/main/java/org/mian/gitnex/util/AppUtil.java @@ -230,4 +230,10 @@ public class AppUtil { return Arrays.asList(extValues).contains(ext); } + + public String getLastCharactersOfWord( String str, int count ) { + + return str.substring(str.length() - count); + + } }