From ece9ff87fc08f38a4c426abfdb9651ee85d7dff7 Mon Sep 17 00:00:00 2001 From: Kosh Date: Sun, 12 Mar 2017 02:24:07 +0800 Subject: [PATCH] modified about screen to get rid of extra libs and removed delete permission --- app/build.gradle | 2 - app/src/main/AndroidManifest.xml | 14 +-- .../modules/about/FastHubAboutActivity.java | 116 ++++++------------ .../ui/modules/login/LoginPresenter.java | 2 +- .../ui/modules/main/MainPresenter.java | 2 +- .../fastaccess/ui/modules/main/MainView.java | 4 +- .../ui/modules/repos/RepoPagerView.java | 3 +- .../prettifier/pretty/PrettifyWebView.java | 29 ++--- app/src/main/res/drawable/ic_bug.xml | 9 ++ app/src/main/res/menu/drawer_menu.xml | 6 +- app/src/main/res/values-v23/styles.xml | 6 + app/src/main/res/values/colors.xml | 4 - app/src/main/res/values/strings.xml | 12 ++ app/src/main/res/values/styles.xml | 11 +- app/src/main/res/xml/fasthub_settings.xml | 2 +- 15 files changed, 96 insertions(+), 126 deletions(-) create mode 100644 app/src/main/res/drawable/ic_bug.xml diff --git a/app/build.gradle b/app/build.gradle index 4c972e3f..9eb38b5c 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -122,8 +122,6 @@ dependencies { compile 'com.github.k0shk0sh:RetainedDateTimePickers:1.0.2' compile 'com.zzhoujay.markdown:markdown:1.0.4' compile 'com.github.daniel-stoneuk:material-about-library:1.8.1' - compile 'com.mikepenz:iconics-core:2.8.2@aar' - compile 'com.mikepenz:google-material-typeface:2.2.0.3.original@aar' compile 'com.mikepenz:community-material-typeface:1.7.22.1@aar' annotationProcessor "org.projectlombok:lombok:${lombokVersion}" annotationProcessor "frankiesardo:icepick-processor:${icepickVersion}" diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 07e660cd..d6b5fb42 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -144,6 +144,11 @@ android:name=".ui.modules.repos.extras.milestone.create.MilestoneActivityView" android:theme="@style/WhenLargeTheme"/> + + - - - - diff --git a/app/src/main/java/com/fastaccess/ui/modules/about/FastHubAboutActivity.java b/app/src/main/java/com/fastaccess/ui/modules/about/FastHubAboutActivity.java index 08d80b1a..f0761a0f 100644 --- a/app/src/main/java/com/fastaccess/ui/modules/about/FastHubAboutActivity.java +++ b/app/src/main/java/com/fastaccess/ui/modules/about/FastHubAboutActivity.java @@ -1,117 +1,79 @@ package com.fastaccess.ui.modules.about; import android.content.Context; +import android.content.Intent; import android.content.pm.PackageManager; -import android.net.Uri; import android.support.v4.content.ContextCompat; +import android.widget.Toast; import com.danielstone.materialaboutlibrary.ConvenienceBuilder; import com.danielstone.materialaboutlibrary.MaterialAboutActivity; import com.danielstone.materialaboutlibrary.items.MaterialAboutActionItem; -import com.danielstone.materialaboutlibrary.items.MaterialAboutItemOnClickListener; -import com.danielstone.materialaboutlibrary.items.MaterialAboutTitleItem; import com.danielstone.materialaboutlibrary.model.MaterialAboutCard; import com.danielstone.materialaboutlibrary.model.MaterialAboutList; -import com.mikepenz.community_material_typeface_library.CommunityMaterial; -import com.mikepenz.google_material_typeface_library.GoogleMaterial; -import com.mikepenz.iconics.IconicsDrawable; +import com.fastaccess.R; +import com.fastaccess.helper.BundleConstant; +import com.fastaccess.ui.modules.repos.RepoPagerView; +import com.fastaccess.ui.modules.repos.issues.create.CreateIssueView; +import com.fastaccess.ui.modules.user.UserPagerView; + +import es.dmoral.toasty.Toasty; /** - * Created by danielstone on 11/03/2017. + * Created by danielstone on 12 Mar 2017, 1:57 AM */ - -public class FastHubAbout extends MaterialAboutActivity { - @Override - protected MaterialAboutList getMaterialAboutList(Context c) { +public class FastHubAboutActivity extends MaterialAboutActivity { + @Override protected MaterialAboutList getMaterialAboutList(Context context) { MaterialAboutCard.Builder appCardBuilder = new MaterialAboutCard.Builder(); - - // Add items to card - - appCardBuilder.addItem(new MaterialAboutTitleItem.Builder() - .text("FastHub") - .icon(R.mipmap.ic_launcher) - .build()); - try { - - appCardBuilder.addItem(ConvenienceBuilder.createVersionActionItem(c, - new IconicsDrawable(c) - .icon(GoogleMaterial.Icon.gmd_info_outline) - .color(ContextCompat.getColor(c, R.color.aboutColorIcon)) - .sizeDp(18), - "Version", - false)); - + appCardBuilder.addItem(ConvenienceBuilder.createVersionActionItem(context, ContextCompat.getDrawable(context, R.drawable.ic_issues), + getString(R.string.version), false)); } catch (PackageManager.NameNotFoundException e) { e.printStackTrace(); } - appCardBuilder.addItem(ConvenienceBuilder.createRateActionItem(c, - new IconicsDrawable(c) - .icon(CommunityMaterial.Icon.cmd_star) - .color(ContextCompat.getColor(c, R.color.aboutColorIcon)) - .sizeDp(18), - "Rate this app", - null - )); + appCardBuilder.addItem(ConvenienceBuilder.createRateActionItem(context, ContextCompat.getDrawable(context, R.drawable.ic_star_filled), + getString(R.string.rate_app), null)); MaterialAboutCard.Builder authorCardBuilder = new MaterialAboutCard.Builder(); - authorCardBuilder.title("Author"); -// authorCardBuilder.titleColor(ContextCompat.getColor(c, R.color.colorAccent)); - + authorCardBuilder.title(R.string.author); authorCardBuilder.addItem(new MaterialAboutActionItem.Builder() - .text("kosh") + .text("Kosh") .subText("k0shk0sh") - .icon(new IconicsDrawable(c) - .icon(GoogleMaterial.Icon.gmd_person) - .color(ContextCompat.getColor(c, R.color.aboutColorIcon)) - .sizeDp(18)) + .icon(ContextCompat.getDrawable(context, R.drawable.ic_profile)) + .setOnClickListener(b -> UserPagerView.startActivity(context, "k0shk0sh")) .build()); - authorCardBuilder.addItem(new MaterialAboutActionItem.Builder() - .text("Fork on GitHub") - .icon(new IconicsDrawable(c) - .icon(CommunityMaterial.Icon.cmd_github_circle) - .color(ContextCompat.getColor(c, R.color.aboutColorIcon)) - .sizeDp(18)) - .setOnClickListener(ConvenienceBuilder.createWebsiteOnClickAction(c, Uri.parse("https://github.com/daniel-stoneuk"))) + .text(R.string.fork_github) + .icon(ContextCompat.getDrawable(context, R.drawable.ic_github)) + .setOnClickListener(b -> startActivity(RepoPagerView.createIntent(this, "FastHub", "k0shk0sh"))) .build()); - authorCardBuilder.addItem(ConvenienceBuilder.createEmailItem(c, - new IconicsDrawable(c) - .icon(CommunityMaterial.Icon.cmd_email) - .color(ContextCompat.getColor(c, R.color.aboutColorIcon)) - .sizeDp(18), - "Send an email", - true, - "kosh20111@gmail.com", - "Question concerning FastHub")); + authorCardBuilder.addItem(ConvenienceBuilder.createEmailItem(context, ContextCompat.getDrawable(context, R.drawable.ic_email), + getString(R.string.send_email), true, getString(R.string.email_address), getString(R.string.question_concerning_fasthub))); MaterialAboutCard.Builder supportDevCard = new MaterialAboutCard.Builder(); - supportDevCard.title("Support Development"); - + supportDevCard.title(getString(R.string.feedback)); supportDevCard.addItem(new MaterialAboutActionItem.Builder() - .text("Report an issue") - .subText("Having an issue? Report it here") - .icon(new IconicsDrawable(c) - .icon(GoogleMaterial.Icon.gmd_bug_report) - .color(ContextCompat.getColor(c, R.color.aboutColorIcon)) - .sizeDp(18)) - .setOnClickListener(new MaterialAboutItemOnClickListener() { - @Override - public void onClick(boolean b) { - // TODO: Launch feedback activity - } - }) + .text(R.string.report_issue) + .subText(R.string.report_issue_here) + .icon(ContextCompat.getDrawable(context, R.drawable.ic_bug)) + .setOnClickListener(b -> CreateIssueView.startForResult(this)) .build()); return new MaterialAboutList(appCardBuilder.build(), authorCardBuilder.build(), supportDevCard.build()); } - @Override - protected CharSequence getActivityTitle() { - return null; + @Override protected CharSequence getActivityTitle() { + return getString(R.string.app_name); + } + + @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { + super.onActivityResult(requestCode, resultCode, data); + if (resultCode == RESULT_OK && requestCode == BundleConstant.REQUEST_CODE) { + Toasty.success(this, getString(R.string.thank_you_for_feedback), Toast.LENGTH_SHORT).show(); + } } } diff --git a/app/src/main/java/com/fastaccess/ui/modules/login/LoginPresenter.java b/app/src/main/java/com/fastaccess/ui/modules/login/LoginPresenter.java index d4da2331..8822370d 100644 --- a/app/src/main/java/com/fastaccess/ui/modules/login/LoginPresenter.java +++ b/app/src/main/java/com/fastaccess/ui/modules/login/LoginPresenter.java @@ -41,7 +41,7 @@ class LoginPresenter extends BasePresenter implements LoginMvp.Pr .appendPath("authorize") .appendQueryParameter("client_id", BuildConfig.GITHUB_CLIENT_ID) .appendQueryParameter("redirect_uri", BuildConfig.REDIRECT_URL) - .appendQueryParameter("scope", "user,repo,gist,delete_repo,notifications") + .appendQueryParameter("scope", "user,repo,gist,notifications") .appendQueryParameter("state", BuildConfig.APPLICATION_ID) .build(); } 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 326d1c16..ad3520e8 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 @@ -82,7 +82,7 @@ class MainPresenter extends BasePresenter implements MainMvp.Prese @Override public boolean onNavigationItemSelected(@NonNull MenuItem item) { if (getView() != null) { getView().onCloseDrawer(); - if (item.getItemId() == R.id.feedback) { + if (item.getItemId() == R.id.about) { getView().onSubmitFeedback(); return true; } else if (item.getItemId() == R.id.logout) { diff --git a/app/src/main/java/com/fastaccess/ui/modules/main/MainView.java b/app/src/main/java/com/fastaccess/ui/modules/main/MainView.java index 54f39c4a..250e7917 100644 --- a/app/src/main/java/com/fastaccess/ui/modules/main/MainView.java +++ b/app/src/main/java/com/fastaccess/ui/modules/main/MainView.java @@ -27,11 +27,11 @@ import com.fastaccess.helper.PrefGetter; import com.fastaccess.helper.TypeFaceHelper; import com.fastaccess.helper.ViewHelper; import com.fastaccess.ui.base.BaseActivity; +import com.fastaccess.ui.modules.about.FastHubAboutActivity; import com.fastaccess.ui.modules.feeds.FeedsView; import com.fastaccess.ui.modules.gists.create.CreateGistView; import com.fastaccess.ui.modules.notification.NotificationActivityView; import com.fastaccess.ui.modules.repos.RepoPagerView; -import com.fastaccess.ui.modules.repos.issues.create.CreateIssueView; import com.fastaccess.ui.modules.search.SearchView; import com.fastaccess.ui.modules.settings.SettingsBottomSheetDialog; import com.fastaccess.ui.widgets.AvatarLayout; @@ -178,7 +178,7 @@ public class MainView extends BaseActivity implemen } @Override public void onSubmitFeedback() { - CreateIssueView.startForResult(this); + startActivity(new Intent(this, FastHubAboutActivity.class)); } @Override public void onLogout() { 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 2c273cbd..95ce43c7 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 @@ -309,7 +309,8 @@ public class RepoPagerView extends BaseActivity loadDataWithBaseURL("file:///android_asset/highlight/", page, "text/html", "utf-8", null)); } else Log.e(getClass().getSimpleName(), "Source can't be null or empty."); @@ -104,17 +101,14 @@ public class PrettifyWebView extends NestedWebView { } public void setGithubContent(@NonNull String source, @Nullable String baseUrl, boolean wrap) { - if (!TextUtils.equals(source, content)) { - if (wrap) { - setScrollbarFadingEnabled(false); - setVerticalScrollBarEnabled(false); - } - if (!InputHelper.isEmpty(source)) { - if (!wrap) addJavascriptInterface(new MarkDownInterceptorInterface(this), "Android"); - this.content = source; - String page = GithubHelper.generateContent(source, baseUrl, wrap); - post(() -> loadDataWithBaseURL("file:///android_asset/md/", page, "text/html", "utf-8", null)); - } + if (wrap) { + setScrollbarFadingEnabled(false); + setVerticalScrollBarEnabled(false); + } + if (!InputHelper.isEmpty(source)) { + if (!wrap) addJavascriptInterface(new MarkDownInterceptorInterface(this), "Android"); + String page = GithubHelper.generateContent(source, baseUrl, wrap); + post(() -> loadDataWithBaseURL("file:///android_asset/md/", page, "text/html", "utf-8", null)); } } @@ -130,13 +124,6 @@ public class PrettifyWebView extends NestedWebView { loadData(html, "text/html", null); } - public void refresh() { - if (content != null) { - loadUrl("about:blank"); - setSource(content); - } - } - public void setInterceptTouch(boolean interceptTouch) { this.interceptTouch = interceptTouch; } diff --git a/app/src/main/res/drawable/ic_bug.xml b/app/src/main/res/drawable/ic_bug.xml new file mode 100644 index 00000000..3963448d --- /dev/null +++ b/app/src/main/res/drawable/ic_bug.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/menu/drawer_menu.xml b/app/src/main/res/menu/drawer_menu.xml index ddd4c98b..cb000740 100644 --- a/app/src/main/res/menu/drawer_menu.xml +++ b/app/src/main/res/menu/drawer_menu.xml @@ -10,9 +10,9 @@ android:title="@string/app_name"/> + android:id="@+id/about" + android:icon="@drawable/ic_info_outline_white_48dp" + android:title="@string/about"/> @color/transparent true + + \ No newline at end of file diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 35033f4a..199c8648 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -274,8 +274,4 @@ #FFEA00 #FFD600 - - #FFFFFF - #9E9E9E - #616161 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index ac7cc1a2..7a866a82 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -156,6 +156,7 @@ Logout Thanks for your feedback. Current Version + Version Support development, enable Ads. Username Password @@ -242,4 +243,15 @@ Private Use rounded rectangle instead of circular avatar. Rectangle Avatar + Rate this app + Author + Fork on GitHub + Send an email + kosh20111@gmail.com + Question concerning FastHub + Feedback + Report an issue + Having an issue? Report it here + About + Notification Settings \ No newline at end of file diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index a7c82105..9b8a8114 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -93,10 +93,13 @@ diff --git a/app/src/main/res/xml/fasthub_settings.xml b/app/src/main/res/xml/fasthub_settings.xml index 6fc92f62..7fddf4c7 100644 --- a/app/src/main/res/xml/fasthub_settings.xml +++ b/app/src/main/res/xml/fasthub_settings.xml @@ -1,7 +1,7 @@ - +