diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 789d52e2..6d22d70d 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,7 +1,7 @@ - + @@ -14,7 +14,7 @@ android:resource="@drawable/ic_notification"/> + android:host="fast-for-github.firebaseapp.com" + android:scheme="https"/> - - - - - - - - - - + android:exported="true" + android:permission="android.permission.BIND_JOB_SERVICE"/> - + + + + + + diff --git a/app/src/main/java/com/fastaccess/ui/modules/profile/overview/ProfileOverviewFragment.java b/app/src/main/java/com/fastaccess/ui/modules/profile/overview/ProfileOverviewFragment.java index f041832e..55f43520 100644 --- a/app/src/main/java/com/fastaccess/ui/modules/profile/overview/ProfileOverviewFragment.java +++ b/app/src/main/java/com/fastaccess/ui/modules/profile/overview/ProfileOverviewFragment.java @@ -16,6 +16,7 @@ import android.support.v4.widget.NestedScrollView; import android.support.v7.widget.CardView; import android.util.DisplayMetrics; import android.util.Log; +import android.view.Gravity; import android.view.View; import android.view.ViewGroup; import android.widget.Button; @@ -68,6 +69,7 @@ import okhttp3.MediaType; import okhttp3.RequestBody; import static android.app.Activity.RESULT_OK; +import static android.view.Gravity.TOP; import static android.view.View.GONE; import static android.view.View.VISIBLE; @@ -153,7 +155,30 @@ public class ProfileOverviewFragment extends BaseFragment= Build.VERSION_CODES.M) { - chooseBanner_pencil.setColorFilter(getResources().getColor(R.color.material_light_white, getActivity().getTheme())); - } else { - chooseBanner_pencil.setColorFilter(getResources().getColor(R.color.material_light_white)); + if (userModel.getLogin().equals(Login.getUser().getLogin())) { + chooseBanner_pencil.setVisibility(VISIBLE); + chooseBanner_pencil.bringToFront(); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { + chooseBanner_pencil.setColorFilter(getResources().getColor(R.color.material_light_white, getActivity().getTheme())); + chooseBanner_pencil.setForegroundGravity(TOP); + } else { + chooseBanner_pencil.setColorFilter(getResources().getColor(R.color.material_light_white)); + } } - chooseBanner_pencil.animate().y(0).setDuration(0).start(); } } diff --git a/app/src/main/java/com/fastaccess/ui/modules/profile/overview/ProfileOverviewMvp.java b/app/src/main/java/com/fastaccess/ui/modules/profile/overview/ProfileOverviewMvp.java index e6898d05..0e96d244 100644 --- a/app/src/main/java/com/fastaccess/ui/modules/profile/overview/ProfileOverviewMvp.java +++ b/app/src/main/java/com/fastaccess/ui/modules/profile/overview/ProfileOverviewMvp.java @@ -54,6 +54,6 @@ interface ProfileOverviewMvp { @NonNull String getLogin(); - @Nullable Bitmap getHeader(); + @Nullable String getHeaderUrl(); } } diff --git a/app/src/main/java/com/fastaccess/ui/modules/profile/overview/ProfileOverviewPresenter.java b/app/src/main/java/com/fastaccess/ui/modules/profile/overview/ProfileOverviewPresenter.java index 12f14d26..97e694f7 100644 --- a/app/src/main/java/com/fastaccess/ui/modules/profile/overview/ProfileOverviewPresenter.java +++ b/app/src/main/java/com/fastaccess/ui/modules/profile/overview/ProfileOverviewPresenter.java @@ -35,7 +35,7 @@ class ProfileOverviewPresenter extends BasePresenter im @icepick.State boolean isSuccessResponse; @icepick.State boolean isFollowing; @icepick.State String login; - @icepick.State Bitmap header = null; + @icepick.State String headerUrl = null; @icepick.State ArrayList userOrgs = new ArrayList<>(); private ArrayList contributions = new ArrayList<>(); private static final String URL = "https://github.com/users/%s/contributions"; @@ -90,8 +90,9 @@ class ProfileOverviewPresenter extends BasePresenter im if (login != null) { loadOrgs(); loadContributions(); - Gist.getMyGists(login).forEach(gists -> { - for (Gist gist : gists) { + RxHelper.getObserver(RestProvider.getGistService().getUserGists(login, 100, 1)).subscribe(gists -> { + for (Gist gist : gists.getItems()) { + Log.d(getClass().getSimpleName(), gist.getDescription() + ":::" + login); if (gist.getDescription().equalsIgnoreCase("header.fst")) { for(FilesListModel file : gist.getFilesAsList()) { makeRestCall(RestProvider.getRepoService(true).getFileAsStream(file.getRawUrl()), s -> { @@ -108,7 +109,7 @@ class ProfileOverviewPresenter extends BasePresenter im @Override public void onLoadingComplete(String s, View view, Bitmap bitmap) { - header = bitmap; + headerUrl = s; sendToView(v -> v.onHeaderLoaded(bitmap)); Log.d(getClass().getSimpleName(), "LOADING SUCCESSFUL :::"); } @@ -141,7 +142,29 @@ class ProfileOverviewPresenter extends BasePresenter im return; } onSendUserToView(userModel); - sendToView(view -> view.onHeaderLoaded(header)); + ImageLoader.getInstance().loadImage(headerUrl, new ImageLoadingListener() { + @Override + public void onLoadingStarted(String s, View view) { + Log.d(getClass().getSimpleName(), "LOADING STARTED :::"); + } + + @Override + public void onLoadingFailed(String s, View view, FailReason failReason) { + Log.e(getClass().getSimpleName(), "LOADING FAILED :::"); + } + + @Override + public void onLoadingComplete(String s, View view, Bitmap bitmap) { + headerUrl = s; + sendToView(v -> v.onHeaderLoaded(bitmap)); + Log.d(getClass().getSimpleName(), "LOADING SUCCESSFUL :::"); + } + + @Override + public void onLoadingCancelled(String s, View view) { + Log.e(getClass().getSimpleName(), "LOADING CANCELLED :::"); + } + }); } @Override public void onSendUserToView(@Nullable User userModel) { @@ -160,8 +183,8 @@ class ProfileOverviewPresenter extends BasePresenter im return login; } - @Nullable @Override public Bitmap getHeader() { - return header; + @Nullable @Override public String getHeaderUrl() { + return headerUrl; } private void loadContributions() { diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml index cddb2ef1..3d317592 100644 --- a/app/src/main/res/values/themes.xml +++ b/app/src/main/res/values/themes.xml @@ -7,6 +7,7 @@ @color/material_blue_accent_700 ?colorAccent @color/white + @color/material_light_white