From 7689720dcf96411e7c1a2c971a1f736e8dd96ffb Mon Sep 17 00:00:00 2001 From: Rahul Kumar Patel Date: Fri, 20 Sep 2019 00:25:39 +0530 Subject: [PATCH] UI : Aesthetic changes [1/3] --- app/build.gradle | 1 + app/src/main/AndroidManifest.xml | 3 + .../aurora/store/activity/AuroraActivity.java | 2 +- .../store/adapter/FavouriteAppsAdapter.java | 3 + .../store/adapter/FeaturedAppsAdapter.java | 2 +- .../store/adapter/InstalledAppsAdapter.java | 3 + .../adapter/SmallScreenshotsAdapter.java | 4 +- .../store/adapter/TopCategoriesAdapter.java | 7 +- .../store/adapter/UpdatableAppsAdapter.java | 3 + .../fragment/details/AbstractHelper.java | 37 +++++++ .../store/fragment/details/ActionButton.java | 2 +- .../fragment/details/GeneralDetails.java | 98 +++++++++++++++++-- .../store/fragment/details/Reviews.java | 7 +- .../aurora/store/fragment/details/Video.java | 2 +- .../provider/AuroraSuggestionProvider.java | 2 +- .../com/aurora/store/sheet/AppMenuSheet.java | 6 +- .../aurora/store/sheet/DownloadMenuSheet.java | 4 +- .../aurora/store/sheet/ExodusBottomSheet.java | 11 ++- .../aurora/store/sheet/FilterBottomSheet.java | 11 ++- .../com/aurora/store/sheet/MoreInfoSheet.java | 12 ++- .../store/sheet/PermissionBottomSheet.java | 11 ++- .../store/sheet/ReviewsBottomSheet.java | 11 ++- .../store/sheet/UserReviewBottomSheet.java | 4 +- .../com/aurora/store/task/DetailsApp.java | 3 + .../com/aurora/store/utility/ColorUtil.java | 1 - .../com/aurora/store/utility/ThemeUtil.java | 12 +++ .../com/aurora/store/utility/ViewUtil.java | 36 ------- .../view/CustomBottomSheetDialogFragment.java | 59 ----------- app/src/main/res/color/color_selector.xml | 2 +- app/src/main/res/drawable/category_bg.xml | 4 +- app/src/main/res/drawable/ic_apps.xml | 6 +- app/src/main/res/drawable/ic_arrow.xml | 9 ++ .../main/res/drawable/ic_download_manager.xml | 6 +- app/src/main/res/drawable/ic_home.xml | 6 +- app/src/main/res/drawable/ic_search.xml | 32 ++---- app/src/main/res/drawable/ic_settings.xml | 6 +- app/src/main/res/font/open_sans_semibold.xml | 7 ++ app/src/main/res/layout/activity_main.xml | 3 +- app/src/main/res/layout/fragment_home.xml | 13 ++- .../layout/include_details_actions_button.xml | 10 +- .../main/res/layout/include_details_all.xml | 16 ++- .../main/res/layout/include_details_beta.xml | 2 +- .../res/layout/include_details_changelog.xml | 11 +-- .../res/layout/include_details_exodus.xml | 4 +- .../main/res/layout/include_details_main.xml | 68 ++++++------- .../res/layout/include_details_readmore.xml | 44 +++++---- .../res/layout/include_details_reviews.xml | 48 ++++++--- app/src/main/res/layout/item_category_top.xml | 11 ++- app/src/main/res/layout/item_cluster.xml | 20 ++-- app/src/main/res/layout/item_featured.xml | 5 +- app/src/main/res/layout/item_installed.xml | 7 +- .../res/layout/item_screenshots_small.xml | 4 +- app/src/main/res/layout/item_updatable.xml | 4 +- app/src/main/res/layout/sheet_exodus.xml | 1 - app/src/main/res/layout/sheet_filter.xml | 5 +- app/src/main/res/layout/sheet_permissions.xml | 1 - app/src/main/res/layout/sheet_read_more.xml | 1 - app/src/main/res/layout/sheet_reviews.xml | 1 - app/src/main/res/layout/sheet_user_review.xml | 1 - app/src/main/res/layout/toolbar_main.xml | 4 +- app/src/main/res/values-v23/styles.xml | 4 +- app/src/main/res/values-v27/styles.xml | 6 +- app/src/main/res/values/dimens.xml | 1 + app/src/main/res/values/font_certs.xml | 17 ++++ app/src/main/res/values/preloaded_fonts.xml | 6 ++ app/src/main/res/values/styles.xml | 2 + app/src/main/res/values/styles_text.xml | 25 +++-- 67 files changed, 450 insertions(+), 330 deletions(-) delete mode 100644 app/src/main/java/com/aurora/store/view/CustomBottomSheetDialogFragment.java create mode 100644 app/src/main/res/drawable/ic_arrow.xml create mode 100644 app/src/main/res/font/open_sans_semibold.xml create mode 100644 app/src/main/res/values/font_certs.xml create mode 100644 app/src/main/res/values/preloaded_fonts.xml diff --git a/app/build.gradle b/app/build.gradle index 61e7482a1..46dd72ca6 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -76,6 +76,7 @@ dependencies { implementation 'androidx.preference:preference:1.1.0' implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.0.0' implementation 'com.google.android.material:material:1.1.0-alpha10' + implementation 'androidx.palette:palette:1.0.0' //Utils implementation 'androidx.annotation:annotation:1.1.0' implementation 'org.apache.commons:commons-text:1.4' diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index ea20b0d1b..efa5a9b53 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -170,6 +170,9 @@ + \ No newline at end of file diff --git a/app/src/main/java/com/aurora/store/activity/AuroraActivity.java b/app/src/main/java/com/aurora/store/activity/AuroraActivity.java index 7b4542e70..fc4a85508 100644 --- a/app/src/main/java/com/aurora/store/activity/AuroraActivity.java +++ b/app/src/main/java/com/aurora/store/activity/AuroraActivity.java @@ -21,6 +21,7 @@ package com.aurora.store.activity; import android.Manifest; +import android.app.StatusBarManager; import android.content.Intent; import android.content.pm.PackageManager; import android.os.Bundle; @@ -85,7 +86,6 @@ public class AuroraActivity extends AppCompatActivity { ButterKnife.bind(this); fragmentCur = Util.getDefaultTab(this); onNewIntent(getIntent()); - if (!PrefUtil.getBoolean(this, Constants.PREFERENCE_DO_NOT_SHOW_INTRO)) { PrefUtil.putBoolean(this, Constants.PREFERENCE_DO_NOT_SHOW_INTRO, true); startActivity(new Intent(this, IntroActivity.class)); diff --git a/app/src/main/java/com/aurora/store/adapter/FavouriteAppsAdapter.java b/app/src/main/java/com/aurora/store/adapter/FavouriteAppsAdapter.java index 5544d3838..24620980c 100644 --- a/app/src/main/java/com/aurora/store/adapter/FavouriteAppsAdapter.java +++ b/app/src/main/java/com/aurora/store/adapter/FavouriteAppsAdapter.java @@ -34,6 +34,8 @@ import com.aurora.store.model.App; import com.aurora.store.utility.PackageUtil; import com.bumptech.glide.Glide; import com.bumptech.glide.load.engine.DiskCacheStrategy; +import com.bumptech.glide.load.resource.bitmap.CenterCrop; +import com.bumptech.glide.load.resource.bitmap.RoundedCorners; import com.bumptech.glide.load.resource.drawable.DrawableTransitionOptions; import com.bumptech.glide.request.RequestOptions; @@ -104,6 +106,7 @@ public class FavouriteAppsAdapter extends RecyclerView.Adapter { .load(app.getIconInfo().getUrl()) .apply(new RequestOptions().diskCacheStrategy(DiskCacheStrategy.ALL)) .transition(new DrawableTransitionOptions().crossFade()) + .transforms(new CenterCrop(), new RoundedCorners(25)) .into(holder.AppIcon); holder.setChecked(isSelected(appList.get(position))); diff --git a/app/src/main/java/com/aurora/store/adapter/FeaturedAppsAdapter.java b/app/src/main/java/com/aurora/store/adapter/FeaturedAppsAdapter.java index 7fcd89bbd..a1e43a9e7 100644 --- a/app/src/main/java/com/aurora/store/adapter/FeaturedAppsAdapter.java +++ b/app/src/main/java/com/aurora/store/adapter/FeaturedAppsAdapter.java @@ -110,8 +110,8 @@ public class FeaturedAppsAdapter extends RecyclerView.Adapter() { @Override public void onResourceReady(@NonNull Drawable drawable, @Nullable Transition transition) { holder.imageView.getLayoutParams().width = drawable.getIntrinsicWidth(); - holder.imageView.getLayoutParams().height = ViewUtil.dpToPx(context, 180); + holder.imageView.getLayoutParams().height = drawable.getIntrinsicHeight(); holder.imageView.setImageDrawable(drawable); } }); diff --git a/app/src/main/java/com/aurora/store/adapter/TopCategoriesAdapter.java b/app/src/main/java/com/aurora/store/adapter/TopCategoriesAdapter.java index 22fc9ff3e..c037d8fd5 100644 --- a/app/src/main/java/com/aurora/store/adapter/TopCategoriesAdapter.java +++ b/app/src/main/java/com/aurora/store/adapter/TopCategoriesAdapter.java @@ -34,7 +34,6 @@ import androidx.annotation.ColorInt; import androidx.annotation.NonNull; import androidx.core.graphics.ColorUtils; import androidx.fragment.app.Fragment; -import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentTransaction; import androidx.recyclerview.widget.RecyclerView; @@ -43,6 +42,7 @@ import com.aurora.store.SharedPreferencesTranslator; import com.aurora.store.fragment.CategoriesFragment; import com.aurora.store.fragment.CategoryAppsFragment; import com.aurora.store.fragment.HomeFragment; +import com.aurora.store.utility.ColorUtil; import com.aurora.store.utility.Util; import com.aurora.store.utility.ViewUtil; @@ -90,9 +90,9 @@ public class TopCategoriesAdapter extends RecyclerView.Adapter getSubCategoryFragment(CategoriesFragment.FAMILY)); @@ -120,7 +120,6 @@ public class TopCategoriesAdapter extends RecyclerView.Adapter { diff --git a/app/src/main/java/com/aurora/store/fragment/details/AbstractHelper.java b/app/src/main/java/com/aurora/store/fragment/details/AbstractHelper.java index 4248e5ef7..eb15a4bd4 100644 --- a/app/src/main/java/com/aurora/store/fragment/details/AbstractHelper.java +++ b/app/src/main/java/com/aurora/store/fragment/details/AbstractHelper.java @@ -22,11 +22,17 @@ package com.aurora.store.fragment.details; import android.content.Context; import android.content.Intent; +import android.content.res.ColorStateList; import android.net.Uri; import android.os.Bundle; import android.view.View; +import android.view.ViewGroup; import android.widget.TextView; +import androidx.annotation.ColorInt; +import androidx.annotation.IdRes; +import androidx.core.graphics.ColorUtils; +import androidx.core.view.ViewCompat; import androidx.fragment.app.FragmentTransaction; import com.aurora.store.Constants; @@ -154,4 +160,35 @@ public abstract class AbstractHelper { Log.e("No WebView found !"); } } + + protected void paintButton(@IdRes int buttonId, @ColorInt int color) { + android.widget.Button button = view.findViewById(buttonId); + if (button != null) + ViewCompat.setBackgroundTintList(button, ColorStateList.valueOf(color)); + } + + protected void paintTextView(@IdRes int textViewId, @ColorInt int color) { + TextView textView = view.findViewById(textViewId); + if (textView != null) + textView.setTextColor(color); + } + + protected void paintTextViewBg(@IdRes int textViewId, @ColorInt int color, int alpha) { + TextView textView = view.findViewById(textViewId); + if (textView != null) + textView.setBackgroundColor(ColorUtils.setAlphaComponent(color, alpha)); + } + + protected void paintLayout(@IdRes int viewId, @ColorInt int color) { + ViewGroup viewGroup = view.findViewById(viewId); + if (viewGroup != null) + viewGroup.setBackgroundColor(color); + } + + protected void paintLayout(@IdRes int viewId, @ColorInt int color, int alpha) { + ViewGroup viewGroup = view.findViewById(viewId); + if (viewGroup != null) + viewGroup.setBackgroundColor(ColorUtils.setAlphaComponent(color, alpha)); + } + } diff --git a/app/src/main/java/com/aurora/store/fragment/details/ActionButton.java b/app/src/main/java/com/aurora/store/fragment/details/ActionButton.java index 7bb27ec13..4cd6f1106 100644 --- a/app/src/main/java/com/aurora/store/fragment/details/ActionButton.java +++ b/app/src/main/java/com/aurora/store/fragment/details/ActionButton.java @@ -121,7 +121,7 @@ public class ActionButton extends AbstractHelper { @Override public void draw() { - boolean isInstalled = PackageUtil.isInstalled(context, app); + boolean isInstalled = app.isInstalled(); hashCode = app.getPackageName().hashCode(); ViewUtil.setVisibility(btnNegative, isInstalled); btnNegative.setOnClickListener(uninstallAppListener()); diff --git a/app/src/main/java/com/aurora/store/fragment/details/GeneralDetails.java b/app/src/main/java/com/aurora/store/fragment/details/GeneralDetails.java index 64c3e2ac4..6c16d802a 100644 --- a/app/src/main/java/com/aurora/store/fragment/details/GeneralDetails.java +++ b/app/src/main/java/com/aurora/store/fragment/details/GeneralDetails.java @@ -22,26 +22,43 @@ package com.aurora.store.fragment.details; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; +import android.content.res.ColorStateList; +import android.graphics.Bitmap; +import android.graphics.Color; import android.text.Html; import android.text.TextUtils; import android.text.format.Formatter; import android.text.util.Linkify; import android.view.View; +import android.widget.ImageButton; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; +import androidx.annotation.Nullable; +import androidx.core.graphics.ColorUtils; +import androidx.palette.graphics.Palette; + import com.aurora.store.GlideApp; import com.aurora.store.R; import com.aurora.store.fragment.DetailsFragment; import com.aurora.store.manager.CategoryManager; import com.aurora.store.model.App; import com.aurora.store.sheet.MoreInfoSheet; +import com.aurora.store.utility.ColorUtil; import com.aurora.store.utility.Log; import com.aurora.store.utility.TextUtil; +import com.aurora.store.utility.ThemeUtil; import com.aurora.store.utility.Util; import com.aurora.store.utility.ViewUtil; -import com.bumptech.glide.load.resource.drawable.DrawableTransitionOptions; +import com.bumptech.glide.load.DataSource; +import com.bumptech.glide.load.engine.GlideException; +import com.bumptech.glide.load.resource.bitmap.BitmapTransitionOptions; +import com.bumptech.glide.load.resource.bitmap.CenterCrop; +import com.bumptech.glide.load.resource.bitmap.RoundedCorners; +import com.bumptech.glide.request.RequestListener; +import com.bumptech.glide.request.target.Target; +import com.google.android.material.button.MaterialButton; import com.google.android.material.chip.Chip; import org.apache.maven.artifact.versioning.DefaultArtifactVersion; @@ -58,10 +75,14 @@ public class GeneralDetails extends AbstractHelper { ImageView appIcon; @BindView(R.id.devName) TextView txtDevName; - @BindView(R.id.showLessMoreTxt) - TextView showLessMoreTxt; + @BindView(R.id.app_desc_short) + TextView txtDescShort; + @BindView(R.id.img_more) + ImageButton imgMore; @BindView(R.id.versionString) TextView app_version; + @BindView(R.id.txt_new) + TextView txtNew; @BindView(R.id.txt_updated) Chip txtUpdated; @BindView(R.id.txt_google_dependencies) @@ -76,6 +97,10 @@ public class GeneralDetails extends AbstractHelper { Chip category; @BindView(R.id.developer_layout) LinearLayout developerLayout; + @BindView(R.id.btn_positive) + MaterialButton btnPositive; + @BindView(R.id.btn_negative) + MaterialButton btnNegative; public GeneralDetails(DetailsFragment fragment, App app) { super(fragment, app); @@ -95,8 +120,22 @@ public class GeneralDetails extends AbstractHelper { private void drawAppBadge() { if (view != null) { GlideApp.with(context) + .asBitmap() .load(app.getIconInfo().getUrl()) - .transition(new DrawableTransitionOptions().crossFade()) + .transition(new BitmapTransitionOptions().crossFade()) + .transforms(new CenterCrop(), new RoundedCorners(50)) + .listener(new RequestListener() { + @Override + public boolean onLoadFailed(@Nullable GlideException e, Object model, Target target, boolean isFirstResource) { + return false; + } + + @Override + public boolean onResourceReady(Bitmap resource, Object model, Target target, DataSource dataSource, boolean isFirstResource) { + getPalette(resource); + return false; + } + }) .into(appIcon); setText(view, R.id.displayName, app.getDisplayName()); setText(view, R.id.packageName, app.getPackageName()); @@ -106,6 +145,47 @@ public class GeneralDetails extends AbstractHelper { } } + private void getPalette(Bitmap bitmap) { + Palette.from(bitmap).generate(palette -> { + if (palette != null) + paintEmAll(palette); + }); + } + + private void paintEmAll(Palette palette) { + Palette.Swatch swatch = palette.getDarkVibrantSwatch(); + int colorPrimary = Color.GRAY; + int colorPrimaryText = Color.BLACK; + + //Make sure we get a fallback swatch if DarkVibrantSwatch is not available + if (swatch == null) + swatch = palette.getVibrantSwatch(); + + //Make sure we get another fallback swatch if VibrantSwatch is not available + if (swatch == null) + swatch = palette.getDominantSwatch(); + + if (swatch != null) { + colorPrimary = swatch.getRgb(); + colorPrimaryText = ColorUtil.manipulateColor(colorPrimary, 0.3f); + } + + if (ColorUtil.isColorLight(colorPrimary)) + btnPositive.setTextColor(Color.BLACK); + else + btnPositive.setTextColor(Color.WHITE); + + btnPositive.setBackgroundColor(colorPrimary); + btnPositive.setStrokeColor(ColorStateList.valueOf(colorPrimary)); + + if (ThemeUtil.isLightTheme(context)) { + txtDevName.setTextColor(colorPrimaryText); + txtNew.setTextColor(colorPrimaryText); + txtDescShort.setTextColor(colorPrimaryText); + txtDescShort.setBackgroundTintList(ColorStateList.valueOf(ColorUtils.setAlphaComponent(colorPrimary, 60))); + } + } + private void drawGeneralDetails() { if (context != null) { if (app.isEarlyAccess()) { @@ -146,9 +226,9 @@ public class GeneralDetails extends AbstractHelper { private void drawChanges() { String changes = app.getChanges(); if (TextUtil.isEmpty(changes)) - setText(view, R.id.changes_upper, context.getString(R.string.details_no_changes)); + setText(view, R.id.txt_changelog, context.getString(R.string.details_no_changes)); else - setText(view, R.id.changes_upper, Html.fromHtml(changes).toString()); + setText(view, R.id.txt_changelog, Html.fromHtml(changes).toString()); show(view, R.id.changes_container); } @@ -228,15 +308,15 @@ public class GeneralDetails extends AbstractHelper { private void drawDescription() { if (context != null) { if (TextUtils.isEmpty(app.getDescription())) { - hide(view, R.id.more_card); + hide(view, R.id.more_layout); } else { - show(view, R.id.more_card); + show(view, R.id.more_layout); } } } private void setupReadMore() { - showLessMoreTxt.setOnClickListener(v -> { + imgMore.setOnClickListener(v -> { MoreInfoSheet mDetailsFragmentMore = new MoreInfoSheet(); mDetailsFragmentMore.setApp(app); mDetailsFragmentMore.show(fragment.getChildFragmentManager(), "MORE"); diff --git a/app/src/main/java/com/aurora/store/fragment/details/Reviews.java b/app/src/main/java/com/aurora/store/fragment/details/Reviews.java index fe13cc23b..e70067f54 100644 --- a/app/src/main/java/com/aurora/store/fragment/details/Reviews.java +++ b/app/src/main/java/com/aurora/store/fragment/details/Reviews.java @@ -24,6 +24,7 @@ import android.content.Context; import android.text.TextUtils; import android.view.View; import android.view.ViewGroup; +import android.widget.ImageButton; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.RatingBar; @@ -61,8 +62,8 @@ import io.reactivex.schedulers.Schedulers; public class Reviews extends AbstractHelper { - @BindView(R.id.txt_readAll) - TextView txtReadAll; + @BindView(R.id.img_review) + ImageButton imgReview; @BindView(R.id.average_rating) TextView txtAverageRating; @BindView(R.id.count_stars) @@ -250,7 +251,7 @@ public class Reviews extends AbstractHelper { } private void setupLoadMore() { - txtReadAll.setOnClickListener(v -> { + imgReview.setOnClickListener(v -> { ReviewsBottomSheet mDetailsFragmentMore = new ReviewsBottomSheet(app); mDetailsFragmentMore.show(fragment.getChildFragmentManager(), "REVIEWS"); }); diff --git a/app/src/main/java/com/aurora/store/fragment/details/Video.java b/app/src/main/java/com/aurora/store/fragment/details/Video.java index 27dae2ce9..39a857e63 100644 --- a/app/src/main/java/com/aurora/store/fragment/details/Video.java +++ b/app/src/main/java/com/aurora/store/fragment/details/Video.java @@ -91,7 +91,7 @@ public class Video extends AbstractHelper { GlideApp .with(context) .load(jsonObject.getString("thumbnail_url")) - .transforms(new CenterCrop(), new RoundedCorners(15)) + .transforms(new CenterCrop(), new RoundedCorners(25)) .transition(new DrawableTransitionOptions().crossFade()) .into(video_thumbnail); }, throwable -> { diff --git a/app/src/main/java/com/aurora/store/provider/AuroraSuggestionProvider.java b/app/src/main/java/com/aurora/store/provider/AuroraSuggestionProvider.java index 36982d847..668ad9969 100644 --- a/app/src/main/java/com/aurora/store/provider/AuroraSuggestionProvider.java +++ b/app/src/main/java/com/aurora/store/provider/AuroraSuggestionProvider.java @@ -131,6 +131,6 @@ public class AuroraSuggestionProvider extends ContentProvider { } private Object[] constructSuggestionRow(SearchSuggestEntry entry, int id) { - return new Object[]{id, entry.getSuggestedQuery(), entry.getSuggestedQuery(), R.drawable.ic_search}; + return new Object[]{id, entry.getSuggestedQuery(), entry.getSuggestedQuery(), R.drawable.ic_round_search}; } } diff --git a/app/src/main/java/com/aurora/store/sheet/AppMenuSheet.java b/app/src/main/java/com/aurora/store/sheet/AppMenuSheet.java index ff80c4d4f..ec6ac165b 100644 --- a/app/src/main/java/com/aurora/store/sheet/AppMenuSheet.java +++ b/app/src/main/java/com/aurora/store/sheet/AppMenuSheet.java @@ -47,7 +47,7 @@ import com.aurora.store.model.App; import com.aurora.store.utility.ApkCopier; import com.aurora.store.utility.Log; import com.aurora.store.utility.PackageUtil; -import com.aurora.store.view.CustomBottomSheetDialogFragment; +import com.google.android.material.bottomsheet.BottomSheetDialogFragment; import com.google.android.material.button.MaterialButton; import butterknife.BindView; @@ -57,7 +57,7 @@ import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.disposables.CompositeDisposable; import io.reactivex.schedulers.Schedulers; -public class AppMenuSheet extends CustomBottomSheetDialogFragment { +public class AppMenuSheet extends BottomSheetDialogFragment { @BindView(R.id.menu_title) TextView txtTitle; @@ -148,7 +148,7 @@ public class AppMenuSheet extends CustomBottomSheetDialogFragment { }); btnLocal.setOnClickListener(v -> { - disposable.add(Observable.fromCallable(() -> new ApkCopier(context,app) + disposable.add(Observable.fromCallable(() -> new ApkCopier(context, app) .copy()) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) diff --git a/app/src/main/java/com/aurora/store/sheet/DownloadMenuSheet.java b/app/src/main/java/com/aurora/store/sheet/DownloadMenuSheet.java index f68afb906..b9e1a5c58 100644 --- a/app/src/main/java/com/aurora/store/sheet/DownloadMenuSheet.java +++ b/app/src/main/java/com/aurora/store/sheet/DownloadMenuSheet.java @@ -34,7 +34,7 @@ import androidx.annotation.Nullable; import com.aurora.store.R; import com.aurora.store.download.DownloadManager; import com.aurora.store.utility.Util; -import com.aurora.store.view.CustomBottomSheetDialogFragment; +import com.google.android.material.bottomsheet.BottomSheetDialogFragment; import com.google.android.material.button.MaterialButton; import com.tonyodev.fetch2.Download; import com.tonyodev.fetch2.Fetch; @@ -43,7 +43,7 @@ import com.tonyodev.fetch2.Status; import butterknife.BindView; import butterknife.ButterKnife; -public class DownloadMenuSheet extends CustomBottomSheetDialogFragment { +public class DownloadMenuSheet extends BottomSheetDialogFragment { @BindView(R.id.menu_title) TextView downloadTitle; diff --git a/app/src/main/java/com/aurora/store/sheet/ExodusBottomSheet.java b/app/src/main/java/com/aurora/store/sheet/ExodusBottomSheet.java index 77750d9ba..f0e48541f 100644 --- a/app/src/main/java/com/aurora/store/sheet/ExodusBottomSheet.java +++ b/app/src/main/java/com/aurora/store/sheet/ExodusBottomSheet.java @@ -40,7 +40,8 @@ import com.aurora.store.adapter.ExodusAdapter; import com.aurora.store.model.ExodusTracker; import com.aurora.store.model.Report; import com.aurora.store.utility.Log; -import com.aurora.store.view.CustomBottomSheetDialogFragment; +import com.google.android.material.bottomsheet.BottomSheetBehavior; +import com.google.android.material.bottomsheet.BottomSheetDialogFragment; import org.json.JSONArray; import org.json.JSONException; @@ -55,7 +56,7 @@ import java.util.List; import butterknife.BindView; import butterknife.ButterKnife; -public class ExodusBottomSheet extends CustomBottomSheetDialogFragment { +public class ExodusBottomSheet extends BottomSheetDialogFragment { @BindView(R.id.exodus_recycler) RecyclerView recyclerView; @@ -79,6 +80,12 @@ public class ExodusBottomSheet extends CustomBottomSheetDialogFragment { this.context = context; } + @Override + public void onStart() { + super.onStart(); + getDialog().getBehavior().setState(BottomSheetBehavior.STATE_EXPANDED); + } + @Nullable @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { diff --git a/app/src/main/java/com/aurora/store/sheet/FilterBottomSheet.java b/app/src/main/java/com/aurora/store/sheet/FilterBottomSheet.java index 5a4047b5c..432ce23d8 100644 --- a/app/src/main/java/com/aurora/store/sheet/FilterBottomSheet.java +++ b/app/src/main/java/com/aurora/store/sheet/FilterBottomSheet.java @@ -35,14 +35,15 @@ import androidx.core.graphics.ColorUtils; import com.aurora.store.Constants; import com.aurora.store.R; import com.aurora.store.utility.PrefUtil; -import com.aurora.store.view.CustomBottomSheetDialogFragment; +import com.google.android.material.bottomsheet.BottomSheetBehavior; +import com.google.android.material.bottomsheet.BottomSheetDialogFragment; import com.google.android.material.chip.Chip; import com.google.android.material.chip.ChipGroup; import butterknife.BindView; import butterknife.ButterKnife; -public class FilterBottomSheet extends CustomBottomSheetDialogFragment { +public class FilterBottomSheet extends BottomSheetDialogFragment { @BindView(R.id.rating_chips) ChipGroup rating_chips; @@ -66,6 +67,12 @@ public class FilterBottomSheet extends CustomBottomSheetDialogFragment { this.context = context; } + @Override + public void onStart() { + super.onStart(); + getDialog().getBehavior().setState(BottomSheetBehavior.STATE_EXPANDED); + } + @NonNull @Override public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { diff --git a/app/src/main/java/com/aurora/store/sheet/MoreInfoSheet.java b/app/src/main/java/com/aurora/store/sheet/MoreInfoSheet.java index 667cc576f..e2110ddc4 100644 --- a/app/src/main/java/com/aurora/store/sheet/MoreInfoSheet.java +++ b/app/src/main/java/com/aurora/store/sheet/MoreInfoSheet.java @@ -33,12 +33,13 @@ import androidx.annotation.Nullable; import com.aurora.store.R; import com.aurora.store.model.App; -import com.aurora.store.view.CustomBottomSheetDialogFragment; +import com.google.android.material.bottomsheet.BottomSheetBehavior; +import com.google.android.material.bottomsheet.BottomSheetDialogFragment; import butterknife.BindView; import butterknife.ButterKnife; -public class MoreInfoSheet extends CustomBottomSheetDialogFragment { +public class MoreInfoSheet extends BottomSheetDialogFragment { @BindView(R.id.content_readMore) TextView contentReadMore; @@ -52,10 +53,17 @@ public class MoreInfoSheet extends CustomBottomSheetDialogFragment { this.app = app; } + @Override + public void onStart() { + super.onStart(); + getDialog().getBehavior().setState(BottomSheetBehavior.STATE_EXPANDED); + } + @Override public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.sheet_read_more, container, false); ButterKnife.bind(this, view); + view.setFitsSystemWindows(true); return view; } diff --git a/app/src/main/java/com/aurora/store/sheet/PermissionBottomSheet.java b/app/src/main/java/com/aurora/store/sheet/PermissionBottomSheet.java index 7bd7b9d53..cb3f22b9c 100644 --- a/app/src/main/java/com/aurora/store/sheet/PermissionBottomSheet.java +++ b/app/src/main/java/com/aurora/store/sheet/PermissionBottomSheet.java @@ -37,7 +37,8 @@ import androidx.annotation.Nullable; import com.aurora.store.PermissionGroup; import com.aurora.store.R; import com.aurora.store.model.App; -import com.aurora.store.view.CustomBottomSheetDialogFragment; +import com.google.android.material.bottomsheet.BottomSheetBehavior; +import com.google.android.material.bottomsheet.BottomSheetDialogFragment; import java.util.ArrayList; import java.util.Collections; @@ -48,7 +49,7 @@ import java.util.Map; import butterknife.BindView; import butterknife.ButterKnife; -public class PermissionBottomSheet extends CustomBottomSheetDialogFragment { +public class PermissionBottomSheet extends BottomSheetDialogFragment { @BindView(R.id.permissions_header) TextView viewHeader; @@ -73,6 +74,12 @@ public class PermissionBottomSheet extends CustomBottomSheetDialogFragment { this.context = context; } + @Override + public void onStart() { + super.onStart(); + getDialog().getBehavior().setState(BottomSheetBehavior.STATE_EXPANDED); + } + @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); diff --git a/app/src/main/java/com/aurora/store/sheet/ReviewsBottomSheet.java b/app/src/main/java/com/aurora/store/sheet/ReviewsBottomSheet.java index 810f281c6..b4c567980 100644 --- a/app/src/main/java/com/aurora/store/sheet/ReviewsBottomSheet.java +++ b/app/src/main/java/com/aurora/store/sheet/ReviewsBottomSheet.java @@ -38,7 +38,8 @@ import com.aurora.store.model.App; import com.aurora.store.model.Review; import com.aurora.store.task.ReviewsHelper; import com.aurora.store.utility.Log; -import com.aurora.store.view.CustomBottomSheetDialogFragment; +import com.google.android.material.bottomsheet.BottomSheetBehavior; +import com.google.android.material.bottomsheet.BottomSheetDialogFragment; import java.util.List; @@ -49,7 +50,7 @@ import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.disposables.CompositeDisposable; import io.reactivex.schedulers.Schedulers; -public class ReviewsBottomSheet extends CustomBottomSheetDialogFragment { +public class ReviewsBottomSheet extends BottomSheetDialogFragment { @BindView(R.id.reviews_recycler) RecyclerView mRecyclerView; @@ -63,6 +64,12 @@ public class ReviewsBottomSheet extends CustomBottomSheetDialogFragment { this.app = app; } + @Override + public void onStart() { + super.onStart(); + getDialog().getBehavior().setState(BottomSheetBehavior.STATE_EXPANDED); + } + @Override public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.sheet_reviews, container, false); diff --git a/app/src/main/java/com/aurora/store/sheet/UserReviewBottomSheet.java b/app/src/main/java/com/aurora/store/sheet/UserReviewBottomSheet.java index 2f9e3f678..e71cd9bc1 100644 --- a/app/src/main/java/com/aurora/store/sheet/UserReviewBottomSheet.java +++ b/app/src/main/java/com/aurora/store/sheet/UserReviewBottomSheet.java @@ -36,9 +36,9 @@ import com.aurora.store.model.Review; import com.aurora.store.model.ReviewBuilder; import com.aurora.store.task.BaseTask; import com.aurora.store.utility.Log; -import com.aurora.store.view.CustomBottomSheetDialogFragment; import com.dragons.aurora.playstoreapiv2.GooglePlayAPI; import com.dragons.aurora.playstoreapiv2.ReviewResponse; +import com.google.android.material.bottomsheet.BottomSheetDialogFragment; import com.google.android.material.textfield.TextInputEditText; import java.io.IOException; @@ -50,7 +50,7 @@ import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.disposables.CompositeDisposable; import io.reactivex.schedulers.Schedulers; -public class UserReviewBottomSheet extends CustomBottomSheetDialogFragment { +public class UserReviewBottomSheet extends BottomSheetDialogFragment { @BindView(R.id.review_title) TextInputEditText txtTitle; diff --git a/app/src/main/java/com/aurora/store/task/DetailsApp.java b/app/src/main/java/com/aurora/store/task/DetailsApp.java index 883fefc9f..87770183c 100644 --- a/app/src/main/java/com/aurora/store/task/DetailsApp.java +++ b/app/src/main/java/com/aurora/store/task/DetailsApp.java @@ -27,6 +27,7 @@ import com.aurora.store.model.AppBuilder; import com.aurora.store.model.Review; import com.aurora.store.model.ReviewBuilder; import com.aurora.store.utility.Accountant; +import com.aurora.store.utility.PackageUtil; import com.dragons.aurora.playstoreapiv2.DetailsResponse; import com.dragons.aurora.playstoreapiv2.ReviewResponse; @@ -51,6 +52,8 @@ public class DetailsApp extends BaseTask { app.setUserReview(review); } } + if (PackageUtil.isInstalled(context, app)) + app.setInstalled(true); return app; } } \ No newline at end of file diff --git a/app/src/main/java/com/aurora/store/utility/ColorUtil.java b/app/src/main/java/com/aurora/store/utility/ColorUtil.java index 171c650b1..ed0958578 100644 --- a/app/src/main/java/com/aurora/store/utility/ColorUtil.java +++ b/app/src/main/java/com/aurora/store/utility/ColorUtil.java @@ -45,5 +45,4 @@ public class ColorUtil { final double darkness = 1 - (0.299 * Color.red(color) + 0.587 * Color.green(color) + 0.114 * Color.blue(color)) / 255; return darkness < 0.4; } - } diff --git a/app/src/main/java/com/aurora/store/utility/ThemeUtil.java b/app/src/main/java/com/aurora/store/utility/ThemeUtil.java index 1678d1cb9..547ea4c91 100644 --- a/app/src/main/java/com/aurora/store/utility/ThemeUtil.java +++ b/app/src/main/java/com/aurora/store/utility/ThemeUtil.java @@ -20,6 +20,7 @@ package com.aurora.store.utility; +import android.content.Context; import android.content.Intent; import androidx.appcompat.app.AppCompatActivity; @@ -61,6 +62,17 @@ public class ThemeUtil { } } + public static boolean isLightTheme(Context context) { + String theme = Util.getTheme(context); + switch (theme) { + case "dark": + case "black": + return false; + default: + return true; + } + } + private static final class OverridePendingTransition { static void invoke(AppCompatActivity activity) { activity.overridePendingTransition(0, 0); diff --git a/app/src/main/java/com/aurora/store/utility/ViewUtil.java b/app/src/main/java/com/aurora/store/utility/ViewUtil.java index 151442169..8f2df7ee0 100644 --- a/app/src/main/java/com/aurora/store/utility/ViewUtil.java +++ b/app/src/main/java/com/aurora/store/utility/ViewUtil.java @@ -32,24 +32,16 @@ import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; import android.util.DisplayMetrics; import android.util.TypedValue; -import android.view.Menu; -import android.view.MenuInflater; -import android.view.MenuItem; import android.view.View; import android.view.animation.DecelerateInterpolator; import android.view.animation.RotateAnimation; import android.widget.TextView; import androidx.annotation.ColorInt; -import androidx.annotation.MenuRes; import androidx.annotation.NonNull; -import androidx.appcompat.widget.PopupMenu; -import androidx.core.view.ViewCompat; -import androidx.interpolator.view.animation.LinearOutSlowInInterpolator; import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; import com.aurora.store.R; -import com.aurora.store.model.MenuEntry; import java.util.ArrayList; import java.util.List; @@ -137,22 +129,6 @@ public class ViewUtil { setText(v, viewId, v.getResources().getString(stringId, text)); } - public static void hideBottomNav(View view, boolean withAnimation) { - ViewCompat.animate(view) - .translationY(view.getHeight()) - .setInterpolator(new LinearOutSlowInInterpolator()) - .setDuration(withAnimation ? ANIMATION_DURATION_SHORT : 0) - .start(); - } - - public static void showBottomNav(View view, boolean withAnimation) { - ViewCompat.animate(view) - .translationY(0) - .setInterpolator(new LinearOutSlowInInterpolator()) - .setDuration(withAnimation ? ANIMATION_DURATION_SHORT : 0) - .start(); - } - public static void showWithAnimation(View view) { final int mShortAnimationDuration = view.getResources().getInteger( android.R.integer.config_shortAnimTime); @@ -229,16 +205,4 @@ public class ViewUtil { else setVisibility(view, visibility); } - - public static List parseMenu(Context context, @MenuRes int menuRes) { - List menuEntryList = new ArrayList<>(); - PopupMenu p = new PopupMenu(context, null); - Menu menu = p.getMenu(); - new MenuInflater(context).inflate(menuRes, menu); - for (int i = 0; i < menu.size(); i++) { - MenuItem item = menu.getItem(i); - menuEntryList.add(new MenuEntry(item.getTitle().toString(), item.getIcon(), item.getItemId())); - } - return menuEntryList; - } } diff --git a/app/src/main/java/com/aurora/store/view/CustomBottomSheetDialogFragment.java b/app/src/main/java/com/aurora/store/view/CustomBottomSheetDialogFragment.java deleted file mode 100644 index 1397d4ce8..000000000 --- a/app/src/main/java/com/aurora/store/view/CustomBottomSheetDialogFragment.java +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Aurora Store - * Copyright (C) 2019, Rahul Kumar Patel - * - * Aurora Store is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * Aurora Store is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with Aurora Store. If not, see . - * - * - */ - -package com.aurora.store.view; - -import android.app.Dialog; -import android.content.Context; -import android.os.Bundle; - -import androidx.annotation.NonNull; - -import com.aurora.store.R; -import com.aurora.store.utility.Util; -import com.google.android.material.bottomsheet.BottomSheetDialogFragment; - -public class CustomBottomSheetDialogFragment extends BottomSheetDialogFragment { - - @Override - public int getTheme() { - return getSelectedTheme(getContext()); - } - - @NonNull - @Override - public Dialog onCreateDialog(Bundle savedInstanceState) { - return super.onCreateDialog(savedInstanceState); - } - - private int getSelectedTheme(Context context) { - String theme = Util.getTheme(context); - switch (theme) { - case "light": - return R.style.BottomSheetDialogTheme; - case "dark": - return R.style.BottomSheetDialogTheme_Dark; - case "black": - return R.style.BottomSheetDialogTheme_Black; - default: - return R.style.BottomSheetDialogTheme; - } - } -} diff --git a/app/src/main/res/color/color_selector.xml b/app/src/main/res/color/color_selector.xml index 0ac494583..a24b2d729 100755 --- a/app/src/main/res/color/color_selector.xml +++ b/app/src/main/res/color/color_selector.xml @@ -21,5 +21,5 @@ - + diff --git a/app/src/main/res/drawable/category_bg.xml b/app/src/main/res/drawable/category_bg.xml index 9259f9020..8071481ab 100644 --- a/app/src/main/res/drawable/category_bg.xml +++ b/app/src/main/res/drawable/category_bg.xml @@ -22,7 +22,7 @@ android:shape="rectangle"> - + android:height="20dp" /> + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_apps.xml b/app/src/main/res/drawable/ic_apps.xml index 02a0e6a0c..231bfd9e4 100644 --- a/app/src/main/res/drawable/ic_apps.xml +++ b/app/src/main/res/drawable/ic_apps.xml @@ -3,7 +3,7 @@ android:height="24dp" android:viewportWidth="24" android:viewportHeight="24"> - + diff --git a/app/src/main/res/drawable/ic_arrow.xml b/app/src/main/res/drawable/ic_arrow.xml new file mode 100644 index 000000000..47b9b34ef --- /dev/null +++ b/app/src/main/res/drawable/ic_arrow.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_download_manager.xml b/app/src/main/res/drawable/ic_download_manager.xml index 69306233a..1c1baee87 100644 --- a/app/src/main/res/drawable/ic_download_manager.xml +++ b/app/src/main/res/drawable/ic_download_manager.xml @@ -24,10 +24,6 @@ android:viewportWidth="24" android:viewportHeight="24"> - diff --git a/app/src/main/res/drawable/ic_home.xml b/app/src/main/res/drawable/ic_home.xml index 04ff2d0de..543603f18 100644 --- a/app/src/main/res/drawable/ic_home.xml +++ b/app/src/main/res/drawable/ic_home.xml @@ -3,7 +3,7 @@ android:height="24dp" android:viewportWidth="24" android:viewportHeight="24"> - + diff --git a/app/src/main/res/drawable/ic_search.xml b/app/src/main/res/drawable/ic_search.xml index 63068c02b..3fccd6e92 100644 --- a/app/src/main/res/drawable/ic_search.xml +++ b/app/src/main/res/drawable/ic_search.xml @@ -1,29 +1,9 @@ - - - - \ No newline at end of file + android:viewportWidth="24" + android:viewportHeight="24"> + + diff --git a/app/src/main/res/drawable/ic_settings.xml b/app/src/main/res/drawable/ic_settings.xml index 8ad89d7d2..6073977d8 100644 --- a/app/src/main/res/drawable/ic_settings.xml +++ b/app/src/main/res/drawable/ic_settings.xml @@ -24,10 +24,6 @@ android:viewportWidth="24" android:viewportHeight="24"> - diff --git a/app/src/main/res/font/open_sans_semibold.xml b/app/src/main/res/font/open_sans_semibold.xml new file mode 100644 index 000000000..13a062dea --- /dev/null +++ b/app/src/main/res/font/open_sans_semibold.xml @@ -0,0 +1,7 @@ + + + diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 59ea7094a..398779244 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -41,6 +41,7 @@ android:layout_gravity="bottom" app:backgroundTint="?android:colorBackground" app:elevation="6dp" + app:itemTextAppearanceActive="@style/TextAppearance.Aurora.BottomNav.Active" + app:itemTextAppearanceInactive="@style/TextAppearance.Aurora.BottomNav.Inactive" app:menu="@menu/navigation" /> - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml index 8d628bb46..e097f3bab 100644 --- a/app/src/main/res/layout/fragment_home.xml +++ b/app/src/main/res/layout/fragment_home.xml @@ -36,7 +36,6 @@ android:layout_height="wrap_content" android:clipToPadding="false" android:overScrollMode="never" - android:paddingTop="@dimen/margin_small" android:paddingBottom="@dimen/bottom_nav_padding" android:scrollbars="none"> @@ -47,7 +46,8 @@ + android:layout_height="wrap_content" + android:layout_marginBottom="@dimen/margin_small"> + android:layout_height="wrap_content" + android:layout_marginBottom="@dimen/margin_small"> + android:layout_height="wrap_content" + android:layout_marginBottom="@dimen/margin_small"> + android:layout_height="wrap_content" + android:layout_marginBottom="@dimen/margin_small"> @@ -33,7 +33,8 @@ style="@style/Widget.MaterialComponents.Button.OutlinedButton" android:layout_width="0dp" android:layout_height="52dp" - android:layout_margin="@dimen/margin_xxsmall" + android:layout_marginStart="@dimen/margin_xxsmall" + android:layout_marginEnd="@dimen/margin_xxsmall" android:layout_weight="1" android:maxLines="1" android:paddingStart="@dimen/margin_large" @@ -49,7 +50,8 @@ style="@style/Widget.MaterialComponents.Button.OutlinedButton" android:layout_width="0dp" android:layout_height="52dp" - android:layout_margin="@dimen/margin_xxsmall" + android:layout_marginStart="@dimen/margin_xxsmall" + android:layout_marginEnd="@dimen/margin_xxsmall" android:layout_weight="1" android:maxLines="1" android:paddingStart="@dimen/margin_large" diff --git a/app/src/main/res/layout/include_details_all.xml b/app/src/main/res/layout/include_details_all.xml index 7867f1289..b2ec1b1bd 100644 --- a/app/src/main/res/layout/include_details_all.xml +++ b/app/src/main/res/layout/include_details_all.xml @@ -54,14 +54,14 @@ android:id="@+id/app_desc_short" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_marginTop="@dimen/margin_normal" - android:layout_marginBottom="@dimen/margin_normal" - android:background="@color/colorScrim" + android:layout_margin="@dimen/margin_medium" + android:background="@drawable/generic_bg" android:gravity="center" android:minHeight="56dp" android:padding="@dimen/margin_small" android:textAlignment="center" android:textColor="?android:attr/textColorPrimary" + android:textIsSelectable="true" android:textSize="16sp" android:visibility="gone" app:autoSizeMaxTextSize="16sp" @@ -101,17 +101,17 @@ android:id="@+id/app_video" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_margin="8dp" + android:layout_margin="@dimen/margin_medium" android:visibility="gone"> - - - - diff --git a/app/src/main/res/layout/include_details_beta.xml b/app/src/main/res/layout/include_details_beta.xml index a0573ee26..473470017 100644 --- a/app/src/main/res/layout/include_details_beta.xml +++ b/app/src/main/res/layout/include_details_beta.xml @@ -23,7 +23,7 @@ android:id="@+id/beta_layout" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_margin="@dimen/margin_small" + android:layout_margin="@dimen/margin_medium" android:background="@drawable/generic_padded_bg" android:orientation="vertical" android:visibility="gone"> diff --git a/app/src/main/res/layout/include_details_changelog.xml b/app/src/main/res/layout/include_details_changelog.xml index 379f478e4..f1ed5bdda 100644 --- a/app/src/main/res/layout/include_details_changelog.xml +++ b/app/src/main/res/layout/include_details_changelog.xml @@ -24,7 +24,7 @@ android:id="@+id/changes_container" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_margin="8dp" + android:layout_margin="@dimen/margin_medium" android:animateLayoutChanges="true" android:background="@drawable/generic_padded_bg" android:minHeight="32dp" @@ -32,16 +32,15 @@ android:visibility="invisible"> + android:textAppearance="@style/TextAppearance.Aurora.SubTitle" /> - + android:orientation="horizontal"> + android:layout_width="@dimen/icon_size_normal" + android:layout_height="@dimen/icon_size_normal" + android:layout_margin="@dimen/margin_normal" /> + android:layout_marginStart="@dimen/margin_small" + android:layout_marginEnd="@dimen/margin_small" + android:layout_toEndOf="@id/icon"> - - + android:textAppearance="@style/TextAppearance.Aurora.Title" + android:textSize="22sp" /> + android:textSize="14sp" /> + + diff --git a/app/src/main/res/layout/include_details_readmore.xml b/app/src/main/res/layout/include_details_readmore.xml index 47f3b21d3..4579a06ab 100644 --- a/app/src/main/res/layout/include_details_readmore.xml +++ b/app/src/main/res/layout/include_details_readmore.xml @@ -1,5 +1,4 @@ - - - - + + - \ No newline at end of file + android:layout_alignParentEnd="true" + android:layout_centerVertical="true" + android:background="?selectableItemBackgroundBorderless" + android:padding="@dimen/margin_small" + android:src="@drawable/ic_arrow" /> + \ No newline at end of file diff --git a/app/src/main/res/layout/include_details_reviews.xml b/app/src/main/res/layout/include_details_reviews.xml index e85472c02..85f20b1b5 100644 --- a/app/src/main/res/layout/include_details_reviews.xml +++ b/app/src/main/res/layout/include_details_reviews.xml @@ -1,5 +1,4 @@ - -