diff --git a/app/build.gradle b/app/build.gradle index 56bf9ac0..1cd5fa70 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,7 +1,6 @@ apply plugin: 'com.android.application' apply plugin: 'me.tatarka.retrolambda' apply plugin: "com.neenbedankt.android-apt" -apply plugin: 'com.jakewharton.hugo' apply plugin: 'com.siimkinks.sqlitemagic' apply plugin: 'com.google.firebase.firebase-crash' diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 6a55b695..7433d023 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -44,17 +44,17 @@ + android:excludeFromRecents="true"/> + android:excludeFromRecents="true"/> + android:excludeFromRecents="true"/> + android:excludeFromRecents="true"/> + android:excludeFromRecents="true"/> + android:excludeFromRecents="true"/> + android:excludeFromRecents="true"/> + android:excludeFromRecents="true"/> intentOptional = returnNonNull(userIntent, pullRequestIntent, commit, commits, - issueIntent, repoIntent, blob); - Optional empty = Optional.empty(); - if (intentOptional != null && intentOptional.isPresent() && intentOptional != empty) { - return intentOptional.get(); + String authority = data.getAuthority(); + if (TextUtils.equals(authority, HOST_DEFAULT) || TextUtils.equals(authority, RAW_AUTHORITY) || + TextUtils.equals(authority, API_AUTHORITY)) { + Intent userIntent = getUser(context, data); + Intent pullRequestIntent = getPullRequestIntent(context, data); + Intent issueIntent = getIssueIntent(context, data); + Intent repoIntent = getRepo(context, data); + Intent commit = getCommit(context, data); + Intent commits = getCommits(context, data); + Intent blob = getBlob(context, data); + Optional intentOptional = returnNonNull(userIntent, pullRequestIntent, commit, commits, + issueIntent, repoIntent, blob); + Optional empty = Optional.empty(); + if (intentOptional != null && intentOptional.isPresent() && intentOptional != empty) { + return intentOptional.get(); + } else { + return getGeneralRepo(context, data); + } } } return null; @@ -174,7 +183,7 @@ public class SchemeParser { */ @Nullable private static Intent getGeneralRepo(@NonNull Context context, @NonNull Uri uri) { //TODO parse deeper links to their associate views. meantime fallback to repoPage - if (uri.getAuthority().equals(HOST_DEFAULT) || uri.getAuthority().equals("api.github.com")) { + if (uri.getAuthority().equals(HOST_DEFAULT) || uri.getAuthority().equals(API_AUTHORITY)) { List segments = uri.getPathSegments(); if (segments == null || segments.isEmpty()) return null; if (segments.size() == 1) { @@ -229,10 +238,15 @@ public class SchemeParser { if (segmentTwo.equals("blob") || segmentTwo.equals("tree")) { String fullUrl = uri.toString(); if (uri.getAuthority().equalsIgnoreCase(HOST_DEFAULT)) { - fullUrl = "https://raw.githubusercontent.com/" + segments.get(0) + "/" + segments.get(1) + "/" + + fullUrl = "https://" + RAW_AUTHORITY + "/" + segments.get(0) + "/" + segments.get(1) + "/" + segments.get(segments.size() - 2) + "/" + uri.getLastPathSegment(); } if (fullUrl != null) return CodeViewerView.createIntent(context, fullUrl); + } else { + String authority = uri.getAuthority(); + if (TextUtils.equals(authority, RAW_AUTHORITY)) { + return CodeViewerView.createIntent(context, uri.toString()); + } } return null; } diff --git a/app/src/main/java/com/fastaccess/ui/modules/main/MainPresenter.java b/app/src/main/java/com/fastaccess/ui/modules/main/MainPresenter.java index 2526e2f2..62f38178 100644 --- a/app/src/main/java/com/fastaccess/ui/modules/main/MainPresenter.java +++ b/app/src/main/java/com/fastaccess/ui/modules/main/MainPresenter.java @@ -15,8 +15,6 @@ import com.fastaccess.ui.modules.feeds.FeedsView; import com.fastaccess.ui.modules.gists.GistsView; import com.fastaccess.ui.modules.profile.ProfilePagerView; -import hugo.weaving.DebugLog; - import static com.fastaccess.helper.ActivityHelper.getVisibleFragment; import static com.fastaccess.helper.AppHelper.getFragmentByTag; @@ -30,7 +28,7 @@ class MainPresenter extends BasePresenter implements MainMvp.Prese return !drawerLayout.isDrawerOpen(GravityCompat.START); } - @DebugLog @SuppressWarnings("ConstantConditions") + @SuppressWarnings("ConstantConditions") @Override public void onModuleChanged(@NonNull FragmentManager fragmentManager, @MainMvp.NavigationType int type) { Fragment currentVisible = getVisibleFragment(fragmentManager); FeedsView homeView = (FeedsView) getFragmentByTag(fragmentManager, FeedsView.TAG); @@ -61,7 +59,7 @@ class MainPresenter extends BasePresenter implements MainMvp.Prese } } - @DebugLog @Override public void onShowHideFragment(@NonNull FragmentManager fragmentManager, @NonNull Fragment toShow, @NonNull Fragment toHide) { + @Override public void onShowHideFragment(@NonNull FragmentManager fragmentManager, @NonNull Fragment toShow, @NonNull Fragment toHide) { toHide.onHiddenChanged(true); fragmentManager .beginTransaction() @@ -71,7 +69,7 @@ class MainPresenter extends BasePresenter implements MainMvp.Prese toShow.onHiddenChanged(false); } - @DebugLog @Override public void onAddAndHide(@NonNull FragmentManager fragmentManager, @NonNull Fragment toAdd, @NonNull Fragment toHide) { + @Override public void onAddAndHide(@NonNull FragmentManager fragmentManager, @NonNull Fragment toAdd, @NonNull Fragment toHide) { toHide.onHiddenChanged(true); fragmentManager .beginTransaction() @@ -90,7 +88,7 @@ class MainPresenter extends BasePresenter implements MainMvp.Prese } else if (item.getItemId() == R.id.logout) { getView().onLogout(); return true; - }else if(item.getItemId() == R.id.fhRepo){ + } else if (item.getItemId() == R.id.fhRepo) { getView().openFasHubRepo(); } } diff --git a/app/src/main/java/com/fastaccess/ui/modules/repos/RepoPagerView.java b/app/src/main/java/com/fastaccess/ui/modules/repos/RepoPagerView.java index 60b1cc9f..b98264e0 100644 --- a/app/src/main/java/com/fastaccess/ui/modules/repos/RepoPagerView.java +++ b/app/src/main/java/com/fastaccess/ui/modules/repos/RepoPagerView.java @@ -38,7 +38,6 @@ import butterknife.BindColor; import butterknife.BindView; import butterknife.OnClick; import butterknife.OnLongClick; -import hugo.weaving.DebugLog; import icepick.State; import it.sephiroth.android.library.bottomnavigation.BottomNavigation; import uk.co.samuelwall.materialtaptargetprompt.MaterialTapTargetPrompt; @@ -63,13 +62,13 @@ public class RepoPagerView extends BaseActivity