Guest User

TokenRefresher.class

a guest
Apr 11th, 2019
189
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.51 KB | None | 0 0
  1. package com.bmwgroup.connected.util.token;
  2.  
  3. import android.text.TextUtils;
  4. import com.bmwgroup.connected.internal.util.Logger;
  5. import java.io.BufferedReader;
  6. import java.io.IOException;
  7. import java.io.InputStreamReader;
  8. import java.io.UnsupportedEncodingException;
  9. import java.util.ArrayList;
  10. import java.util.List;
  11. import org.apache.http.HttpEntity;
  12. import org.apache.http.HttpResponse;
  13. import org.apache.http.client.HttpClient;
  14. import org.apache.http.client.entity.UrlEncodedFormEntity;
  15. import org.apache.http.client.methods.HttpPost;
  16. import org.apache.http.client.methods.HttpUriRequest;
  17. import org.apache.http.impl.client.DefaultHttpClient;
  18. import org.apache.http.message.BasicNameValuePair;
  19.  
  20. public class TokenRefresher
  21. {
  22. private static final String DEFAULT_VIN = "H007120";
  23. private static final String HEADER_AUTHORIZATION = "Authorization";
  24. private static final String HEADER_CONTENT_TYPE = "Content-Type";
  25. protected static final Logger sLogger = Logger.getLogger(TokenHelper.class.getSimpleName());
  26. private final int RETRIES = 3;
  27. private String mData;
  28. private String mRefreshToken;
  29. private String mVin;
  30.  
  31. private String getVin()
  32. {
  33. if (TextUtils.isEmpty(this.mVin)) {
  34. return "H007120";
  35. }
  36. return this.mVin;
  37. }
  38.  
  39. public String refresh(String... paramVarArgs)
  40. {
  41. if ((paramVarArgs != null) && (paramVarArgs.length > 0))
  42. {
  43. Object localObject4 = paramVarArgs[0];
  44. Object localObject1 = sLogger;
  45. Object localObject3 = new StringBuilder();
  46. ((StringBuilder)localObject3).append("Url ");
  47. ((StringBuilder)localObject3).append(paramVarArgs[0]);
  48. ((Logger)localObject1).d(((StringBuilder)localObject3).toString(), new Object[0]);
  49. if (TextUtils.isEmpty(this.mRefreshToken))
  50. {
  51. sLogger.d("Refresh token is null !", new Object[0]);
  52. return null;
  53. }
  54. localObject1 = "";
  55. if (paramVarArgs.length > 1)
  56. {
  57. localObject1 = paramVarArgs[1];
  58. sLogger.d("Authorization %s", new Object[] { localObject1 });
  59. }
  60. this.mData = "fail";
  61. paramVarArgs = new StringBuilder();
  62. localObject3 = new DefaultHttpClient();
  63. localObject4 = new HttpPost((String)localObject4);
  64. Object localObject5 = new ArrayList();
  65. try
  66. {
  67. StringBuilder localStringBuilder = new StringBuilder();
  68. localStringBuilder.append("Basic ");
  69. localStringBuilder.append((String)localObject1);
  70. ((HttpPost)localObject4).setHeader("Authorization", localStringBuilder.toString());
  71. ((HttpPost)localObject4).setHeader("Content-Type", "application/x-www-form-urlencoded");
  72. ((List)localObject5).add(new BasicNameValuePair("grant_type", "refresh_token"));
  73. ((List)localObject5).add(new BasicNameValuePair("refresh_token", this.mRefreshToken));
  74. ((List)localObject5).add(new BasicNameValuePair("vin", getVin()));
  75. ((HttpPost)localObject4).setEntity(new UrlEncodedFormEntity((List)localObject5));
  76. }
  77. catch (UnsupportedEncodingException localUnsupportedEncodingException)
  78. {
  79. sLogger.e(localUnsupportedEncodingException, localUnsupportedEncodingException.getMessage(), new Object[0]);
  80. }
  81. sLogger.d("Request =%s", new Object[] { ((HttpPost)localObject4).getRequestLine() });
  82. int i = 0;
  83. while (i < 3) {
  84. try
  85. {
  86. Object localObject2 = new BufferedReader(new InputStreamReader(((HttpClient)localObject3).execute((HttpUriRequest)localObject4).getEntity().getContent()));
  87. for (;;)
  88. {
  89. localObject5 = ((BufferedReader)localObject2).readLine();
  90. if (localObject5 == null) {
  91. break;
  92. }
  93. sLogger.d((String)localObject5, new Object[0]);
  94. paramVarArgs.append((String)localObject5);
  95. }
  96. ((BufferedReader)localObject2).close();
  97. this.mData = paramVarArgs.toString();
  98. localObject2 = this.mData;
  99. return (String)localObject2;
  100. }
  101. catch (IOException localIOException)
  102. {
  103. sLogger.e(localIOException, localIOException.getMessage(), new Object[0]);
  104. this.mData = null;
  105. i += 1;
  106. }
  107. }
  108. return this.mData;
  109. }
  110. sLogger.d("Url is null !", new Object[0]);
  111. return null;
  112. }
  113.  
  114. public void setRefreshToken(String paramString)
  115. {
  116. this.mRefreshToken = paramString;
  117. }
  118.  
  119. public void setVIN(String paramString)
  120. {
  121. this.mVin = paramString;
  122. }
  123. }
Advertisement
Add Comment
Please, Sign In to add comment