From 9530e1f497c61f9bb74369c2426855aafe5d3fd5 Mon Sep 17 00:00:00 2001 From: Alex Ning Date: Tue, 26 Feb 2019 21:56:51 +0800 Subject: [PATCH] Fixed user icon and user banner not displaying after user login. LoginActivity will not show page not found error after login finish. --- .idea/caches/build_file_checksums.ser | Bin 533 -> 533 bytes .idea/caches/gradle_models.ser | Bin 303304 -> 296620 bytes app/build.gradle | 2 - .../infinityforreddit/LoginActivity.java | 145 ++++++++++-------- .../infinityforreddit/MainActivity.java | 70 ++++----- .../infinityforreddit/NetworkComponent.java | 1 + app/src/main/res/layout/nav_header_main.xml | 2 +- app/src/main/res/menu/main_activity.xml | 2 +- 8 files changed, 113 insertions(+), 109 deletions(-) diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser index 283d42fff8a41f22d08ed0dddbf5b1c2856c94dd..75671f837d55b83df7a4f34ede002b95db971c79 100644 GIT binary patch delta 33 rcmV++0N($V1eFAkm;@>L;VZG6XaNy%n>pDYzL&cd`$fTvFN(r=@iq@M delta 33 pcmbQrGL>b*3>JwpR^g3vG8hF7CcY4z(6+}!^;gJ_=rvQsDgefT4CDX+ diff --git a/.idea/caches/gradle_models.ser b/.idea/caches/gradle_models.ser index 8c8664630918a3fdb949af594540672f9003e7a6..34e30d6a4a63aa184c812d1e6d6c263f06e074b4 100644 GIT binary patch delta 47125 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 Xf%ky#9L>z6GAR?0G2U8?;+ORs_QYXb literal 303304 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 params = new HashMap<>(); + params.put(RedditUtils.GRANT_TYPE_KEY, "authorization_code"); + params.put("code", authCode); + params.put("redirect_uri", RedditUtils.REDIRECT_URI); + + RedditAPI api = mRetrofit.create(RedditAPI.class); + Call accessTokenCall = api.getAccessToken(RedditUtils.getHttpBasicAuthHeader(), params); + accessTokenCall.enqueue(new Callback() { + @Override + public void onResponse(@NonNull Call call, @NonNull Response response) { + if(response.isSuccessful()) { + try { + JSONObject responseJSON = new JSONObject(response.body()); + String accessToken = responseJSON.getString(RedditUtils.ACCESS_TOKEN_KEY); + String refreshToken = responseJSON.getString(RedditUtils.REFRESH_TOKEN_KEY); + + editor.putString(SharedPreferencesUtils.ACCESS_TOKEN_KEY, accessToken); + editor.putString(SharedPreferencesUtils.REFRESH_TOKEN_KEY, refreshToken); + editor.apply(); + + Intent resultIntent = new Intent(); + setResult(Activity.RESULT_OK, resultIntent); + finish(); + } catch (JSONException e) { + e.printStackTrace(); + Toast.makeText(LoginActivity.this, "Error occurred when parsing the JSON response", Toast.LENGTH_SHORT).show(); + finish(); + } + } else { + Toast.makeText(LoginActivity.this, "Error Retrieving the token", Toast.LENGTH_SHORT).show(); + finish(); + } + } + + @Override + public void onFailure(Call call, Throwable t) { + Toast.makeText(LoginActivity.this, "Error Retrieving the token", Toast.LENGTH_SHORT).show(); + finish(); + } + }); + } else { + Toast.makeText(LoginActivity.this, "Something went wrong. Try again later.", Toast.LENGTH_SHORT).show(); + finish(); + } + + } else if (url.contains("error=access_denied")) { + Toast.makeText(LoginActivity.this, "Access denied", Toast.LENGTH_SHORT).show(); + finish(); + } else { + view.loadUrl(url); + } + return true; } @@ -65,68 +136,6 @@ public class LoginActivity extends AppCompatActivity { @Override public void onPageFinished(WebView view, String url) { super.onPageFinished(view, url); - if(url.contains("&code=") || url.contains("?code=")) { - Uri uri = Uri.parse(url); - String state = uri.getQueryParameter("state"); - if(state.equals(RedditUtils.STATE)) { - authCode = uri.getQueryParameter("code"); - Intent intent = new Intent(LoginActivity.this, MainActivity.class); - intent.putExtra("authCode", authCode); - - final SharedPreferences.Editor editor = getSharedPreferences(SharedPreferencesUtils.AUTH_CODE_FILE_KEY, Context.MODE_PRIVATE).edit(); - editor.putString(SharedPreferencesUtils.AUTH_CODE_KEY, authCode); - editor.apply(); - - RequestQueue queue = Volley.newRequestQueue(LoginActivity.this); - String tokenRetrievalUrl = "https://www.reddit.com/api/v1/access_token"; - StringRequest requestToken = new StringRequest(Request.Method.POST, tokenRetrievalUrl, response -> { - try { - JSONObject responseJSON = new JSONObject(response); - String accessToken = responseJSON.getString(RedditUtils.ACCESS_TOKEN_KEY); - String refreshToken = responseJSON.getString(RedditUtils.REFRESH_TOKEN_KEY); - - editor.putString(SharedPreferencesUtils.ACCESS_TOKEN_KEY, accessToken); - editor.putString(SharedPreferencesUtils.REFRESH_TOKEN_KEY, refreshToken); - editor.apply(); - - Intent resultIntent = new Intent(); - setResult(Activity.RESULT_OK, resultIntent); - finish(); - } catch (JSONException e) { - e.printStackTrace(); - Toast.makeText(LoginActivity.this, "Error occurred when parsing the JSON response", Toast.LENGTH_SHORT).show(); - finish(); - } - }, error -> { - Toast.makeText(LoginActivity.this, "Error Retrieving the token", Toast.LENGTH_SHORT).show(); - finish(); - }){ - @Override - protected Map getParams() { - Map params = new HashMap<>(); - params.put(RedditUtils.GRANT_TYPE_KEY, "authorization_code"); - params.put("code", authCode); - params.put("redirect_uri", RedditUtils.REDIRECT_URI); - - return params; - } - - @Override - public Map getHeaders() { - return RedditUtils.getHttpBasicAuthHeader(); - } - }; - - queue.add(requestToken); - } else { - Toast.makeText(LoginActivity.this, "Something went wrong. Try again later.", Toast.LENGTH_SHORT).show(); - finish(); - } - - } else if (url.contains("error=access_denied")) { - Toast.makeText(LoginActivity.this, "Access denied", Toast.LENGTH_SHORT).show(); - finish(); - } } }); } diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/MainActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/MainActivity.java index 2dcdadc0..095e802a 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/MainActivity.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/MainActivity.java @@ -14,6 +14,7 @@ import android.widget.TextView; import com.bumptech.glide.Glide; import com.bumptech.glide.RequestManager; +import com.bumptech.glide.request.RequestOptions; import com.ferfalk.simplesearchview.SimpleSearchView; import java.util.ArrayList; @@ -40,16 +41,13 @@ import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; import butterknife.BindView; import butterknife.ButterKnife; -import de.hdodenhof.circleimageview.CircleImageView; +import jp.wasabeef.glide.transformations.RoundedCornersTransformation; +import pl.droidsonroids.gif.GifImageView; import retrofit2.Retrofit; public class MainActivity extends AppCompatActivity { private static final String FRAGMENT_OUT_STATE = "FOS"; - private static final String NAME_STATE = "NS"; - private static final String PROFILE_IMAGE_URL_STATE = "PIUS"; - private static final String BANNER_IMAGE_URL_STATE = "BIUS"; - private static final String KARMA_STATE = "KS"; private static final String FETCH_USER_INFO_STATE = "FUIS"; private static final String INSERT_SUBSCRIBED_SUBREDDIT_STATE = "ISSS"; @@ -66,7 +64,7 @@ public class MainActivity extends AppCompatActivity { private TextView mNameTextView; private TextView mKarmaTextView; - private CircleImageView mProfileImageView; + private GifImageView mProfileImageView; private ImageView mBannerImageView; private Fragment mFragment; @@ -76,8 +74,8 @@ public class MainActivity extends AppCompatActivity { private String mProfileImageUrl; private String mBannerImageUrl; private String mKarma; - private boolean mFetchUserInfoSuccess; - private boolean mInsertSuccess; + private boolean mFetchUserInfoSuccess = false; + private boolean mInsertSuccess = false; private SubscribedSubredditViewModel mSubscribedSubredditViewModel; private SubscribedUserViewModel mSubscribedUserViewModel; @@ -169,9 +167,12 @@ public class MainActivity extends AppCompatActivity { } else { mFragment = getSupportFragmentManager().getFragment(savedInstanceState, FRAGMENT_OUT_STATE); getSupportFragmentManager().beginTransaction().replace(R.id.frame_layout_content_main, mFragment).commit(); + + mFetchUserInfoSuccess = savedInstanceState.getBoolean(FETCH_USER_INFO_STATE); + mInsertSuccess = savedInstanceState.getBoolean(INSERT_SUBSCRIBED_SUBREDDIT_STATE); } - loadUserData(); + glide = Glide.with(this); View header = findViewById(R.id.nav_header_main_activity); mNameTextView = header.findViewById(R.id.name_text_view_nav_header_main); @@ -179,6 +180,8 @@ public class MainActivity extends AppCompatActivity { mProfileImageView = header.findViewById(R.id.profile_image_view_nav_header_main); mBannerImageView = header.findViewById(R.id.banner_image_view_nav_header_main); + loadUserData(); + subscribedSubredditRecyclerView.setLayoutManager(new LinearLayoutManager(this)); subscribedSubredditRecyclerView.setNestedScrollingEnabled(false); @@ -192,10 +195,18 @@ public class MainActivity extends AppCompatActivity { mNameTextView.setText(mName); mKarmaTextView.setText(mKarma); - glide = Glide.with(this); + if (!mProfileImageUrl.equals("")) { - glide.load(mProfileImageUrl).into(mProfileImageView); + glide.load(mProfileImageUrl) + .apply(RequestOptions.bitmapTransform(new RoundedCornersTransformation(144, 0))) + .error(glide.load(R.drawable.subreddit_default_icon)) + .into(mProfileImageView); + } else { + glide.load(R.drawable.subreddit_default_icon) + .apply(RequestOptions.bitmapTransform(new RoundedCornersTransformation(144, 0))) + .into(mProfileImageView); } + if (!mBannerImageUrl.equals("")) { glide.load(mBannerImageUrl).into(mBannerImageView); } @@ -245,10 +256,17 @@ public class MainActivity extends AppCompatActivity { @Override public void onParseMyInfoSuccess(String name, String profileImageUrl, String bannerImageUrl, int karma) { mNameTextView.setText(name); - if (!mProfileImageUrl.equals("")) { - glide.load(profileImageUrl).into(mProfileImageView); + if (!profileImageUrl.equals("")) { + glide.load(profileImageUrl) + .apply(RequestOptions.bitmapTransform(new RoundedCornersTransformation(128, 0))) + .error(glide.load(R.drawable.subreddit_default_icon)) + .into(mProfileImageView); + } else { + glide.load(R.drawable.subreddit_default_icon) + .apply(RequestOptions.bitmapTransform(new RoundedCornersTransformation(128, 0))) + .into(mProfileImageView); } - if (!mBannerImageUrl.equals("")) { + if (!bannerImageUrl.equals("")) { glide.load(bannerImageUrl).into(mBannerImageView); } @@ -368,30 +386,8 @@ public class MainActivity extends AppCompatActivity { if (mFragment != null) { getSupportFragmentManager().putFragment(outState, FRAGMENT_OUT_STATE, mFragment); } - outState.putString(NAME_STATE, mName); - outState.putString(PROFILE_IMAGE_URL_STATE, mProfileImageUrl); - outState.putString(BANNER_IMAGE_URL_STATE, mBannerImageUrl); - outState.putString(KARMA_STATE, mKarma); + outState.putBoolean(FETCH_USER_INFO_STATE, mFetchUserInfoSuccess); outState.putBoolean(INSERT_SUBSCRIBED_SUBREDDIT_STATE, mInsertSuccess); } - - @Override - protected void onRestoreInstanceState(Bundle savedInstanceState) { - super.onRestoreInstanceState(savedInstanceState); - mName = savedInstanceState.getString(NAME_STATE); - mProfileImageUrl = savedInstanceState.getString(PROFILE_IMAGE_URL_STATE); - mBannerImageUrl = savedInstanceState.getString(BANNER_IMAGE_URL_STATE); - mKarma = savedInstanceState.getString(KARMA_STATE); - mFetchUserInfoSuccess = savedInstanceState.getBoolean(FETCH_USER_INFO_STATE); - mInsertSuccess = savedInstanceState.getBoolean(INSERT_SUBSCRIBED_SUBREDDIT_STATE); - mNameTextView.setText(mName); - mKarmaTextView.setText(mKarma); - if (!mProfileImageUrl.equals("")) { - glide.load(mProfileImageUrl).into(mProfileImageView); - } - if (!mBannerImageUrl.equals("")) { - glide.load(mBannerImageUrl).into(mBannerImageView); - } - } } diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/NetworkComponent.java b/app/src/main/java/ml/docilealligator/infinityforreddit/NetworkComponent.java index b250ac29..4615898b 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/NetworkComponent.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/NetworkComponent.java @@ -8,6 +8,7 @@ import dagger.Component; @Component(modules = NetworkModule.class) interface NetworkComponent { void inject(MainActivity mainActivity); + void inject(LoginActivity loginActivity); void inject(PostFragment postFragment); void inject(SubredditListingFragment subredditListingFragment); void inject(UserListingFragment userListingFragment); diff --git a/app/src/main/res/layout/nav_header_main.xml b/app/src/main/res/layout/nav_header_main.xml index 146dd057..593385f1 100644 --- a/app/src/main/res/layout/nav_header_main.xml +++ b/app/src/main/res/layout/nav_header_main.xml @@ -14,7 +14,7 @@ android:layout_height="match_parent" android:scaleType="centerCrop"/> - + app:showAsAction="ifRoom" /> \ No newline at end of file