mirror of
https://github.com/whyorean/AuroraStore.git
synced 2026-06-19 13:08:59 -04:00
Improve the app design
- Fix various UI glitch & bugs - Cleanup & Improve coding style
This commit is contained in:
@@ -56,7 +56,7 @@ dependencies {
|
||||
implementation 'com.squareup.picasso:picasso:2.5.2'
|
||||
implementation 'com.squareup.okhttp3:okhttp:3.10.0'
|
||||
implementation 'com.github.percolate:caffeine:0.4.7'
|
||||
implementation 'com.github.florent37:shapeofview:1.0.6'
|
||||
implementation 'com.github.florent37:shapeofview:1.1.0'
|
||||
implementation 'io.reactivex.rxjava2:rxandroid:2.0.2'
|
||||
implementation 'com.jakewharton:butterknife:8.8.1'
|
||||
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
|
||||
|
||||
@@ -1,8 +1,14 @@
|
||||
package com.dragons.aurora;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.res.TypedArray;
|
||||
import android.graphics.drawable.GradientDrawable;
|
||||
import android.preference.PreferenceManager;
|
||||
import android.support.v7.widget.RecyclerView;
|
||||
import android.text.TextUtils;
|
||||
import android.util.TypedValue;
|
||||
import android.view.animation.AnimationUtils;
|
||||
import android.view.animation.LayoutAnimationController;
|
||||
|
||||
import com.dragons.aurora.downloader.DownloadState;
|
||||
import com.dragons.aurora.fragment.PreferenceFragment;
|
||||
@@ -86,6 +92,10 @@ public class Util {
|
||||
PreferenceManager.getDefaultSharedPreferences(context).edit().putString(key, TextUtils.join(DELIMITER, set)).apply();
|
||||
}
|
||||
|
||||
static public void putBoolean(Context context, String key, boolean value) {
|
||||
PreferenceManager.getDefaultSharedPreferences(context).edit().putBoolean(key, value).apply();
|
||||
}
|
||||
|
||||
static public int parseInt(String intAsString, int defaultValue) {
|
||||
try {
|
||||
return Integer.parseInt(intAsString);
|
||||
@@ -158,4 +168,29 @@ public class Util {
|
||||
}
|
||||
}
|
||||
|
||||
public static int getStyledAttribute(Context context, int styleID) {
|
||||
TypedArray arr = context.obtainStyledAttributes(new TypedValue().data, new int[]{styleID});
|
||||
int styledColor = arr.getColor(0, -1);
|
||||
arr.recycle();
|
||||
return styledColor;
|
||||
}
|
||||
|
||||
public static GradientDrawable getGradient(int startColor, int endColor) {
|
||||
GradientDrawable gd = new GradientDrawable();
|
||||
gd.setOrientation(GradientDrawable.Orientation.TOP_BOTTOM);
|
||||
gd.setColors(new int[]{startColor, endColor});
|
||||
gd.setShape(GradientDrawable.RECTANGLE);
|
||||
gd.setGradientType(GradientDrawable.LINEAR_GRADIENT);
|
||||
gd.setDither(true);
|
||||
gd.setSize(200, 200);
|
||||
return gd;
|
||||
}
|
||||
|
||||
public static void reloadRecycler(final RecyclerView recyclerView) {
|
||||
final Context context = recyclerView.getContext();
|
||||
final LayoutAnimationController controller = AnimationUtils.loadLayoutAnimation(context, R.anim.layout_anim);
|
||||
recyclerView.setLayoutAnimation(controller);
|
||||
recyclerView.getAdapter().notifyDataSetChanged();
|
||||
recyclerView.scheduleLayoutAnimation();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package com.dragons.aurora.activities;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.graphics.Color;
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@ import android.Manifest;
|
||||
import android.content.BroadcastReceiver;
|
||||
import android.content.Intent;
|
||||
import android.graphics.Color;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.support.v4.app.ActivityCompat;
|
||||
import android.support.v4.view.ViewPager;
|
||||
@@ -35,7 +36,10 @@ public class AuroraActivity extends BaseActivity implements View.OnClickListener
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
setTheme(getThemeFromPref());
|
||||
super.onCreate(savedInstanceState);
|
||||
getWindow().setStatusBarColor(Color.TRANSPARENT);
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M)
|
||||
getWindow().setStatusBarColor(Color.TRANSPARENT);
|
||||
else
|
||||
getWindow().setStatusBarColor(getResources().getColor(R.color.semi_transparent));
|
||||
setContentView(R.layout.activity_main);
|
||||
ButterKnife.bind(this);
|
||||
|
||||
@@ -43,7 +47,6 @@ public class AuroraActivity extends BaseActivity implements View.OnClickListener
|
||||
bottm_bar.setSecondaryMenu(R.menu.nav_menu, this);
|
||||
viewPager.setAdapter(new ViewPagerAdapter(this, getSupportFragmentManager()));
|
||||
viewPager.setOffscreenPageLimit(3);
|
||||
|
||||
ActivityCompat.requestPermissions(this,
|
||||
new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1);
|
||||
}
|
||||
|
||||
@@ -2,7 +2,6 @@ package com.dragons.aurora.activities;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.graphics.Color;
|
||||
import android.os.Bundle;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
|
||||
@@ -1,20 +1,28 @@
|
||||
package com.dragons.aurora.activities;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.drawable.BitmapDrawable;
|
||||
import android.os.Bundle;
|
||||
import android.support.v7.graphics.Palette;
|
||||
import android.text.Editable;
|
||||
import android.text.TextWatcher;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
import android.widget.Button;
|
||||
import android.widget.EditText;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.ScrollView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.dragons.aurora.R;
|
||||
import com.dragons.aurora.Util;
|
||||
import com.dragons.aurora.fragment.details.DownloadOrInstall;
|
||||
import com.dragons.aurora.model.App;
|
||||
import com.dragons.aurora.task.playstore.PurchaseCheckTask;
|
||||
import com.dragons.aurora.view.AdaptiveToolbar;
|
||||
import com.squareup.picasso.Callback;
|
||||
import com.squareup.picasso.Picasso;
|
||||
|
||||
import java.util.Timer;
|
||||
import java.util.TimerTask;
|
||||
@@ -27,9 +35,9 @@ public class ManualDownloadActivity extends DetailsActivity {
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE
|
||||
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
|
||||
getWindow().setStatusBarColor(getResources().getColor(R.color.semi_transparent));
|
||||
AdaptiveToolbar dadtb = findViewById(R.id.d_adtb);
|
||||
dadtb.getAction_icon().setOnClickListener((v -> this.onBackPressed()));
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -52,17 +60,20 @@ public class ManualDownloadActivity extends DetailsActivity {
|
||||
private void draw(App app) {
|
||||
setTitle(app.getDisplayName());
|
||||
setContentView(R.layout.manual_download_activity_layout);
|
||||
drawDetails();
|
||||
|
||||
if (app.getOfferType() == 0) {
|
||||
app.setOfferType(1);
|
||||
}
|
||||
((TextView) findViewById(R.id.compatibility)).setText(
|
||||
app.getVersionCode() > 0
|
||||
? R.string.manual_download_compatible
|
||||
: R.string.manual_download_incompatible
|
||||
);
|
||||
|
||||
((TextView) findViewById(R.id.compatibility)).setText(app.getVersionCode() > 0
|
||||
? R.string.manual_download_compatible
|
||||
: R.string.manual_download_incompatible);
|
||||
|
||||
if (app.getVersionCode() > 0) {
|
||||
((EditText) findViewById(R.id.version_code)).setHint(String.valueOf(latestVersionCode));
|
||||
}
|
||||
|
||||
DownloadOrInstall downloadOrInstallFragment = new DownloadOrInstall(this, app);
|
||||
ManualDownloadTextWatcher textWatcher = new ManualDownloadTextWatcher(app,
|
||||
findViewById(R.id.download),
|
||||
@@ -76,6 +87,56 @@ public class ManualDownloadActivity extends DetailsActivity {
|
||||
downloadOrInstallFragment.draw();
|
||||
}
|
||||
|
||||
private void drawDetails() {
|
||||
((TextView) findViewById(R.id.displayName)).setText(app.getDisplayName());
|
||||
((TextView) findViewById(R.id.packageName)).setText(app.getPackageName());
|
||||
((TextView) findViewById(R.id.versionString)).setText(String.valueOf(app.getVersionCode()));
|
||||
|
||||
ScrollView disclaimer = findViewById(R.id.disclaimer);
|
||||
ImageView showLessMore = findViewById(R.id.show_LessMore);
|
||||
showLessMore.setOnClickListener(v -> {
|
||||
if (disclaimer.getVisibility() == View.GONE) {
|
||||
disclaimer.setVisibility(View.VISIBLE);
|
||||
showLessMore.animate().rotation(180).start();
|
||||
} else {
|
||||
disclaimer.setVisibility(View.GONE);
|
||||
showLessMore.animate().rotation(0).start();
|
||||
}
|
||||
});
|
||||
|
||||
ImageView appIcon = findViewById(R.id.icon);
|
||||
Picasso
|
||||
.with(this)
|
||||
.load(app.getIconInfo().getUrl())
|
||||
.placeholder(R.color.transparent)
|
||||
.into((ImageView) findViewById(R.id.icon), new Callback() {
|
||||
@Override
|
||||
public void onSuccess() {
|
||||
Bitmap bitmap = ((BitmapDrawable) appIcon.getDrawable()).getBitmap();
|
||||
if (bitmap != null)
|
||||
getPalette(bitmap);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError() {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void getPalette(Bitmap bitmap) {
|
||||
Palette.from(bitmap).generate(this::drawGradients);
|
||||
}
|
||||
|
||||
private void drawGradients(Palette myPalette) {
|
||||
(findViewById(R.id.diagonalView1))
|
||||
.setBackground(Util.getGradient(myPalette.getLightVibrantColor(Color.LTGRAY),
|
||||
myPalette.getDominantColor(Color.GRAY)));
|
||||
(findViewById(R.id.diagonalView2))
|
||||
.setBackground(Util.getGradient(myPalette.getLightVibrantColor(Color.GRAY),
|
||||
myPalette.getVibrantColor(Color.DKGRAY)));
|
||||
}
|
||||
|
||||
static private class ManualDownloadTextWatcher implements TextWatcher {
|
||||
|
||||
static private final int TIMEOUT = 1000;
|
||||
|
||||
@@ -11,7 +11,6 @@ import android.support.design.widget.FloatingActionButton;
|
||||
import android.support.v7.widget.RecyclerView;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
import android.view.Menu;
|
||||
import android.view.View;
|
||||
import android.widget.Button;
|
||||
import android.widget.ImageView;
|
||||
@@ -53,9 +52,9 @@ public class SearchActivity extends AuroraActivity implements SingleDownloadsAda
|
||||
switch (newState) {
|
||||
case BottomSheetBehavior.STATE_HIDDEN:
|
||||
break;
|
||||
//case BottomSheetBehavior.STATE_EXPANDED:
|
||||
// filter_fab.hide();
|
||||
// break;
|
||||
case BottomSheetBehavior.STATE_EXPANDED:
|
||||
filter_fab.hide();
|
||||
break;
|
||||
case BottomSheetBehavior.STATE_COLLAPSED:
|
||||
filter_fab.show();
|
||||
break;
|
||||
@@ -83,7 +82,7 @@ public class SearchActivity extends AuroraActivity implements SingleDownloadsAda
|
||||
filter_apply.setOnClickListener(click -> {
|
||||
toggleBottomSheet();
|
||||
new Handler(Looper.getMainLooper()).postDelayed(() -> {
|
||||
getCategoryApps(query,getTitleString());
|
||||
getCategoryApps(query, getTitleString());
|
||||
}, 500);
|
||||
});
|
||||
|
||||
@@ -112,7 +111,7 @@ public class SearchActivity extends AuroraActivity implements SingleDownloadsAda
|
||||
getCategoryApps(query, getTitleString());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onDownloadBadgeClickListener() {
|
||||
singleDownloadAdapter.notifyDataSetChanged();
|
||||
@@ -130,6 +129,7 @@ public class SearchActivity extends AuroraActivity implements SingleDownloadsAda
|
||||
getResources().getStringArray(R.array.filterDownloadsLabels),
|
||||
getResources().getStringArray(R.array.filterDownloadsValues));
|
||||
singleDownloadAdapter.setOnDownloadBadgeClickListener(this);
|
||||
filter_downloads.setItemViewCacheSize(10);
|
||||
filter_downloads.setAdapter(singleDownloadAdapter);
|
||||
}
|
||||
|
||||
@@ -139,6 +139,7 @@ public class SearchActivity extends AuroraActivity implements SingleDownloadsAda
|
||||
getResources().getStringArray(R.array.filterRatingLabels),
|
||||
getResources().getStringArray(R.array.filterRatingValues));
|
||||
singleRatingAdapter.setOnRatingBadgeClickListener(this);
|
||||
filter_ratings.setItemViewCacheSize(10);
|
||||
filter_ratings.setAdapter(singleRatingAdapter);
|
||||
}
|
||||
|
||||
|
||||
@@ -3,19 +3,17 @@ package com.dragons.aurora.adapters;
|
||||
import android.content.Context;
|
||||
import android.preference.PreferenceManager;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.v7.widget.CardView;
|
||||
import android.support.v7.widget.RecyclerView;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.dragons.aurora.R;
|
||||
import com.dragons.aurora.SharedPreferencesTranslator;
|
||||
import com.dragons.aurora.activities.CategoryAppsActivity;
|
||||
import com.github.florent37.shapeofview.shapes.CircleView;
|
||||
import com.github.florent37.shapeofview.shapes.RoundRectView;
|
||||
import com.percolate.caffeine.ViewUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -95,7 +93,7 @@ public class AllCategoriesAdapter extends RecyclerView.Adapter<AllCategoriesAdap
|
||||
static class ViewHolder extends RecyclerView.ViewHolder {
|
||||
TextView topLabel;
|
||||
ImageView topImage;
|
||||
RoundRectView topContainer;
|
||||
CardView topContainer;
|
||||
|
||||
ViewHolder(View v) {
|
||||
super(v);
|
||||
|
||||
@@ -2,12 +2,12 @@ package com.dragons.aurora.adapters;
|
||||
|
||||
import android.content.Context;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.v7.widget.CardView;
|
||||
import android.support.v7.widget.RecyclerView;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.PopupMenu;
|
||||
|
||||
import com.dragons.aurora.R;
|
||||
@@ -18,13 +18,12 @@ import com.dragons.aurora.fragment.details.ButtonUninstall;
|
||||
import com.dragons.aurora.fragment.details.DownloadOptions;
|
||||
import com.dragons.aurora.model.App;
|
||||
import com.dragons.aurora.view.InstalledAppBadge;
|
||||
import com.github.florent37.shapeofview.shapes.RoundRectView;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class InstalledAppsAdapter extends RecyclerView.Adapter<InstalledAppsAdapter.ViewHolder> {
|
||||
|
||||
private List<App> appsToAdd;
|
||||
public List<App> appsToAdd;
|
||||
private Context context;
|
||||
private ViewHolder viewHolder;
|
||||
|
||||
@@ -110,7 +109,7 @@ public class InstalledAppsAdapter extends RecyclerView.Adapter<InstalledAppsAdap
|
||||
public class ViewHolder extends RecyclerView.ViewHolder {
|
||||
|
||||
public View view;
|
||||
public RoundRectView list_container;
|
||||
public CardView list_container;
|
||||
public ImageView menu_3dot;
|
||||
|
||||
public ViewHolder(View view) {
|
||||
|
||||
@@ -4,6 +4,7 @@ import android.app.SearchManager;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.v7.widget.CardView;
|
||||
import android.support.v7.widget.RecyclerView;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
@@ -13,7 +14,6 @@ import android.widget.TextView;
|
||||
|
||||
import com.dragons.aurora.R;
|
||||
import com.dragons.aurora.activities.SearchActivity;
|
||||
import com.github.florent37.shapeofview.shapes.RoundRectView;
|
||||
|
||||
import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
@@ -99,8 +99,8 @@ public class SearchHistoryAdapter extends RecyclerView.Adapter<SearchHistoryAdap
|
||||
}
|
||||
|
||||
public class ViewHolder extends RecyclerView.ViewHolder {
|
||||
public RoundRectView viewForeground;
|
||||
RelativeLayout viewBackground;
|
||||
public CardView viewForeground;
|
||||
RelativeLayout viewBackground;
|
||||
TextView query;
|
||||
TextView time;
|
||||
|
||||
|
||||
@@ -18,10 +18,7 @@ import android.widget.RelativeLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.dragons.aurora.R;
|
||||
import com.github.florent37.shapeofview.shapes.CircleView;
|
||||
|
||||
import static android.view.View.GONE;
|
||||
import static android.view.View.VISIBLE;
|
||||
import com.dragons.aurora.Util;
|
||||
|
||||
public class SingleDownloadsAdapter extends RecyclerView.Adapter<SingleDownloadsAdapter.ViewHolder> {
|
||||
|
||||
@@ -100,7 +97,7 @@ public class SingleDownloadsAdapter extends RecyclerView.Adapter<SingleDownloads
|
||||
viewHolder.badgeText.setTextColor(Color.WHITE);
|
||||
paintBadge(viewHolder);
|
||||
} else {
|
||||
viewHolder.badgeText.setTextColor(Color.BLACK);
|
||||
viewHolder.badgeText.setTextColor(Util.getStyledAttribute(context, android.R.attr.textColorPrimary));
|
||||
viewHolder.badgeContainer.setBackgroundTintList(null);
|
||||
}
|
||||
}
|
||||
@@ -131,8 +128,7 @@ public class SingleDownloadsAdapter extends RecyclerView.Adapter<SingleDownloads
|
||||
static class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
|
||||
|
||||
private RelativeLayout badgeContainer;
|
||||
private CircleView badgeDot;
|
||||
private CircleView badgeCancel;
|
||||
private View badgeDot;
|
||||
private TextView badgeText;
|
||||
|
||||
public ViewHolder(View view) {
|
||||
@@ -140,7 +136,6 @@ public class SingleDownloadsAdapter extends RecyclerView.Adapter<SingleDownloads
|
||||
badgeContainer = view.findViewById(R.id.badge_container);
|
||||
badgeDot = view.findViewById(R.id.badge_dot);
|
||||
badgeText = view.findViewById(R.id.badge_text);
|
||||
badgeCancel = view.findViewById(R.id.badge_cancel);
|
||||
itemView.setOnClickListener(this);
|
||||
}
|
||||
|
||||
|
||||
@@ -18,10 +18,7 @@ import android.widget.RelativeLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.dragons.aurora.R;
|
||||
import com.github.florent37.shapeofview.shapes.CircleView;
|
||||
|
||||
import static android.view.View.GONE;
|
||||
import static android.view.View.VISIBLE;
|
||||
import com.dragons.aurora.Util;
|
||||
|
||||
public class SingleRatingsAdapter extends RecyclerView.Adapter<SingleRatingsAdapter.ViewHolder> {
|
||||
|
||||
@@ -100,7 +97,7 @@ public class SingleRatingsAdapter extends RecyclerView.Adapter<SingleRatingsAdap
|
||||
viewHolder.badgeText.setTextColor(Color.WHITE);
|
||||
paintBadge(viewHolder);
|
||||
} else {
|
||||
viewHolder.badgeText.setTextColor(Color.BLACK);
|
||||
viewHolder.badgeText.setTextColor(Util.getStyledAttribute(context, android.R.attr.textColorPrimary));
|
||||
viewHolder.badgeContainer.setBackgroundTintList(null);
|
||||
}
|
||||
}
|
||||
@@ -131,8 +128,7 @@ public class SingleRatingsAdapter extends RecyclerView.Adapter<SingleRatingsAdap
|
||||
static class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
|
||||
|
||||
private RelativeLayout badgeContainer;
|
||||
private CircleView badgeDot;
|
||||
private CircleView badgeCancel;
|
||||
private View badgeDot;
|
||||
private TextView badgeText;
|
||||
|
||||
public ViewHolder(View view) {
|
||||
@@ -140,7 +136,6 @@ public class SingleRatingsAdapter extends RecyclerView.Adapter<SingleRatingsAdap
|
||||
badgeContainer = view.findViewById(R.id.badge_container);
|
||||
badgeDot = view.findViewById(R.id.badge_dot);
|
||||
badgeText = view.findViewById(R.id.badge_text);
|
||||
badgeCancel = view.findViewById(R.id.badge_cancel);
|
||||
itemView.setOnClickListener(this);
|
||||
}
|
||||
|
||||
|
||||
@@ -2,22 +2,21 @@ package com.dragons.aurora.adapters;
|
||||
|
||||
import android.content.Context;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.v7.widget.CardView;
|
||||
import android.support.v7.widget.RecyclerView;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.LinearLayout;
|
||||
|
||||
import com.dragons.aurora.R;
|
||||
import com.dragons.aurora.model.App;
|
||||
import com.dragons.aurora.view.UpdatableAppBadge;
|
||||
import com.github.florent37.shapeofview.shapes.RoundRectView;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class UpdatableAppsAdapter extends RecyclerView.Adapter<UpdatableAppsAdapter.ViewHolder> {
|
||||
|
||||
private List<App> appsToAdd;
|
||||
public List<App> appsToAdd;
|
||||
private Context context;
|
||||
|
||||
public UpdatableAppsAdapter(Context context, List<App> appsToAdd) {
|
||||
@@ -58,13 +57,10 @@ public class UpdatableAppsAdapter extends RecyclerView.Adapter<UpdatableAppsAdap
|
||||
public void onBindViewHolder(@NonNull UpdatableAppsAdapter.ViewHolder holder, int position) {
|
||||
final App app = appsToAdd.get(position);
|
||||
final UpdatableAppBadge updatableAppBadge = new UpdatableAppBadge();
|
||||
|
||||
holder.app = app;
|
||||
updatableAppBadge.setApp(app);
|
||||
updatableAppBadge.setView(holder.view);
|
||||
updatableAppBadge.draw();
|
||||
updatableAppBadge.drawButtons();
|
||||
|
||||
holder.app = app;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -74,7 +70,7 @@ public class UpdatableAppsAdapter extends RecyclerView.Adapter<UpdatableAppsAdap
|
||||
|
||||
public class ViewHolder extends RecyclerView.ViewHolder {
|
||||
|
||||
public RoundRectView viewForeground;
|
||||
public CardView viewForeground;
|
||||
public App app;
|
||||
private View view;
|
||||
|
||||
|
||||
@@ -17,6 +17,7 @@ import com.dragons.aurora.PlayStoreApiAuthenticator;
|
||||
import com.dragons.aurora.R;
|
||||
import com.dragons.aurora.activities.LoginActivity;
|
||||
import com.dragons.aurora.task.UserProvidedCredentialsTask;
|
||||
import com.github.florent37.shapeofview.shapes.CircleView;
|
||||
import com.percolate.caffeine.ViewUtils;
|
||||
import com.squareup.picasso.Picasso;
|
||||
|
||||
@@ -41,7 +42,6 @@ public class AccountsFragment extends UtilFragment {
|
||||
}
|
||||
|
||||
v = inflater.inflate(R.layout.app_acc_inc, container, false);
|
||||
getActivity().setTitle(R.string.action_accounts);
|
||||
|
||||
ImageView toolbar_back = v.findViewById(R.id.toolbar_back);
|
||||
toolbar_back.setOnClickListener(click -> getActivity().onBackPressed());
|
||||
@@ -118,8 +118,8 @@ public class AccountsFragment extends UtilFragment {
|
||||
|
||||
private void drawEmpty() {
|
||||
show(v, R.id.emptyCard);
|
||||
ImageButton addSecondary = v.findViewById(R.id.add_secondary);
|
||||
addSecondary.setOnClickListener(v -> switchGoogle());
|
||||
CircleView add_account = v.findViewById(R.id.add_account);
|
||||
add_account.setOnClickListener(v -> switchGoogle());
|
||||
}
|
||||
|
||||
private void drawDummyButtons() {
|
||||
|
||||
@@ -71,9 +71,9 @@ public class CategoryAppsFragment extends CategoryAppsTask implements SingleDown
|
||||
switch (newState) {
|
||||
case BottomSheetBehavior.STATE_HIDDEN:
|
||||
break;
|
||||
//case BottomSheetBehavior.STATE_EXPANDED:
|
||||
// filter_fab.hide();
|
||||
// break;
|
||||
case BottomSheetBehavior.STATE_EXPANDED:
|
||||
filter_fab.hide();
|
||||
break;
|
||||
case BottomSheetBehavior.STATE_COLLAPSED:
|
||||
filter_fab.show();
|
||||
break;
|
||||
@@ -135,6 +135,7 @@ public class CategoryAppsFragment extends CategoryAppsTask implements SingleDown
|
||||
getResources().getStringArray(R.array.filterDownloadsLabels),
|
||||
getResources().getStringArray(R.array.filterDownloadsValues));
|
||||
singleDownloadAdapter.setOnDownloadBadgeClickListener(this);
|
||||
filter_downloads.setItemViewCacheSize(10);
|
||||
filter_downloads.setAdapter(singleDownloadAdapter);
|
||||
}
|
||||
|
||||
@@ -144,6 +145,7 @@ public class CategoryAppsFragment extends CategoryAppsTask implements SingleDown
|
||||
getResources().getStringArray(R.array.filterRatingLabels),
|
||||
getResources().getStringArray(R.array.filterRatingValues));
|
||||
singleRatingAdapter.setOnRatingBadgeClickListener(this);
|
||||
filter_ratings.setItemViewCacheSize(10);
|
||||
filter_ratings.setAdapter(singleRatingAdapter);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package com.dragons.aurora.fragment;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.preference.PreferenceManager;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.v4.widget.SwipeRefreshLayout;
|
||||
import android.support.v7.widget.LinearLayoutManager;
|
||||
@@ -11,19 +10,21 @@ import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.animation.AnimationUtils;
|
||||
import android.widget.Button;
|
||||
|
||||
import com.dragons.aurora.PlayStoreApiAuthenticator;
|
||||
import com.dragons.aurora.R;
|
||||
import com.dragons.aurora.Util;
|
||||
import com.dragons.aurora.adapters.InstalledAppsAdapter;
|
||||
import com.dragons.aurora.model.App;
|
||||
import com.dragons.aurora.task.playstore.InstalledAppsTaskHelper;
|
||||
import com.percolate.caffeine.ViewUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
|
||||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
import io.reactivex.Observable;
|
||||
import io.reactivex.android.schedulers.AndroidSchedulers;
|
||||
import io.reactivex.disposables.Disposable;
|
||||
@@ -31,11 +32,19 @@ import io.reactivex.schedulers.Schedulers;
|
||||
|
||||
public class InstalledAppsFragment extends InstalledAppsTaskHelper {
|
||||
|
||||
@BindView(R.id.swipe_refresh_layout)
|
||||
SwipeRefreshLayout swipeRefreshLayout;
|
||||
@BindView(R.id.installed_apps_list)
|
||||
RecyclerView recyclerView;
|
||||
@BindView(R.id.ohhSnap_retry)
|
||||
Button retry_update;
|
||||
@BindView(R.id.includeSystem)
|
||||
SwitchCompat includeSystem;
|
||||
|
||||
private View view;
|
||||
private Disposable loadApps;
|
||||
private SwipeRefreshLayout swipeRefreshLayout;
|
||||
private List<App> installedApps = new ArrayList<>(new HashSet<>());
|
||||
private SwitchCompat includeSystem;
|
||||
private InstalledAppsAdapter installedAppsAdapter;
|
||||
|
||||
public static InstalledAppsFragment newInstance() {
|
||||
return new InstalledAppsFragment();
|
||||
@@ -59,28 +68,29 @@ public class InstalledAppsFragment extends InstalledAppsTaskHelper {
|
||||
}
|
||||
|
||||
view = inflater.inflate(R.layout.app_installed_inc, container, false);
|
||||
ButterKnife.bind(this, view);
|
||||
|
||||
swipeRefreshLayout = ViewUtils.findViewById(view, R.id.swipe_refresh_layout);
|
||||
swipeRefreshLayout.setOnRefreshListener(() -> {
|
||||
if (isLoggedIn())
|
||||
if (isLoggedIn() && isConnected(getContext()))
|
||||
loadMarketApps();
|
||||
else
|
||||
swipeRefreshLayout.setRefreshing(false);
|
||||
});
|
||||
|
||||
includeSystem = view.findViewById(R.id.includeSystem);
|
||||
retry_update.setOnClickListener(click -> {
|
||||
if (isLoggedIn() && isConnected(getContext())) {
|
||||
hide(view, R.id.ohhSnap);
|
||||
if (installedAppsAdapter == null || installedAppsAdapter.getItemCount() <= 0)
|
||||
loadMarketApps();
|
||||
}
|
||||
});
|
||||
|
||||
includeSystem.setChecked(PreferenceFragment.getBoolean(getContext(), "INCLUDE_SYSTEM"));
|
||||
includeSystem.setOnCheckedChangeListener((buttonView, isChecked) -> {
|
||||
if (isChecked)
|
||||
PreferenceManager.getDefaultSharedPreferences(getActivity())
|
||||
.edit()
|
||||
.putBoolean("INCLUDE_SYSTEM", true)
|
||||
.apply();
|
||||
Util.putBoolean(getContext(), "INCLUDE_SYSTEM", true);
|
||||
else
|
||||
PreferenceManager.getDefaultSharedPreferences(getActivity())
|
||||
.edit()
|
||||
.putBoolean("INCLUDE_SYSTEM", false)
|
||||
.apply();
|
||||
Util.putBoolean(getContext(), "INCLUDE_SYSTEM", false);
|
||||
loadMarketApps();
|
||||
});
|
||||
|
||||
@@ -100,12 +110,11 @@ public class InstalledAppsFragment extends InstalledAppsTaskHelper {
|
||||
swipeRefreshLayout.setRefreshing(false);
|
||||
}
|
||||
|
||||
protected void setupListView(List<App> appsToAdd) {
|
||||
RecyclerView recyclerView = view.findViewById(R.id.installed_apps_list);
|
||||
recyclerView.setHasFixedSize(true);
|
||||
protected void setupRecycler(List<App> appsToAdd) {
|
||||
installedAppsAdapter = new InstalledAppsAdapter(getActivity(), appsToAdd);
|
||||
recyclerView.setLayoutManager(new LinearLayoutManager(this.getActivity()));
|
||||
recyclerView.setLayoutAnimation(AnimationUtils.loadLayoutAnimation(getContext(), R.anim.layout_anim));
|
||||
recyclerView.setAdapter(new InstalledAppsAdapter(getActivity(), appsToAdd));
|
||||
recyclerView.setAdapter(installedAppsAdapter);
|
||||
}
|
||||
|
||||
public void loadMarketApps() {
|
||||
@@ -115,12 +124,24 @@ public class InstalledAppsFragment extends InstalledAppsTaskHelper {
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe((appList) -> {
|
||||
if (view != null) {
|
||||
installedApps = new ArrayList<>(new HashSet<>(appList));
|
||||
Collections.sort(installedApps);
|
||||
setupListView(installedApps);
|
||||
installedApps.clear();
|
||||
installedApps.addAll(appList);
|
||||
setupList(installedApps);
|
||||
swipeRefreshLayout.setRefreshing(false);
|
||||
}
|
||||
}, this::processException);
|
||||
}, err -> {
|
||||
swipeRefreshLayout.setRefreshing(false);
|
||||
processException(err);
|
||||
show(view, R.id.ohhSnap);
|
||||
});
|
||||
}
|
||||
|
||||
private void setupList(List<App> installedApps) {
|
||||
if (recyclerView.getAdapter() == null)
|
||||
setupRecycler(installedApps);
|
||||
else {
|
||||
installedAppsAdapter.appsToAdd = installedApps;
|
||||
Util.reloadRecycler(recyclerView);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -9,7 +9,8 @@ import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.animation.AnimationUtils;
|
||||
import android.widget.ProgressBar;
|
||||
import android.widget.Button;
|
||||
import android.widget.RelativeLayout;
|
||||
|
||||
import com.dragons.aurora.AppListIterator;
|
||||
import com.dragons.aurora.PlayStoreApiAuthenticator;
|
||||
@@ -37,8 +38,12 @@ public class SearchAppsFragment extends SearchTask {
|
||||
RecyclerView recyclerView;
|
||||
@BindView(R.id.adaptive_toolbar)
|
||||
AdaptiveToolbar adaptiveToolbar;
|
||||
@BindView(R.id.unicorn)
|
||||
RelativeLayout unicorn;
|
||||
@BindView(R.id.ohhSnap)
|
||||
RelativeLayout ohhSnap;
|
||||
@BindView(R.id.progress)
|
||||
ProgressBar progressBar;
|
||||
RelativeLayout progress;
|
||||
|
||||
private String title;
|
||||
private boolean setLooper = true;
|
||||
@@ -56,6 +61,20 @@ public class SearchAppsFragment extends SearchTask {
|
||||
adaptiveToolbar.getAction_icon().setOnClickListener((v -> this.getActivity().onBackPressed()));
|
||||
adaptiveToolbar.getTitle0().setText(title);
|
||||
adaptiveToolbar.getTitle1().setVisibility(View.GONE);
|
||||
Button ohhSnap_retry = view.findViewById(R.id.ohhSnap_retry);
|
||||
ohhSnap_retry.setOnClickListener(click -> {
|
||||
if (isLoggedIn() && isConnected(getContext())) {
|
||||
hide(view, R.id.ohhSnap);
|
||||
fetchSearchAppsList(false);
|
||||
}
|
||||
});
|
||||
Button retry_querry = view.findViewById(R.id.recheck_query);
|
||||
retry_querry.setOnClickListener(click -> {
|
||||
if (isLoggedIn() && isConnected(getContext())) {
|
||||
hide(view, R.id.unicorn);
|
||||
fetchSearchAppsList(false);
|
||||
}
|
||||
});
|
||||
return view;
|
||||
}
|
||||
|
||||
@@ -85,6 +104,7 @@ public class SearchAppsFragment extends SearchTask {
|
||||
}
|
||||
|
||||
protected void setupListView(List<App> appsToAdd) {
|
||||
progress.setVisibility(View.GONE);
|
||||
LinearLayoutManager mLayoutManager = new LinearLayoutManager(this.getActivity());
|
||||
endlessAppsAdapter = new EndlessAppsAdapter(getActivity(), appsToAdd);
|
||||
recyclerView.setLayoutManager(mLayoutManager);
|
||||
@@ -93,7 +113,7 @@ public class SearchAppsFragment extends SearchTask {
|
||||
recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
|
||||
@Override
|
||||
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
|
||||
if ((visibleItems + oldItems) >= totalItems + 2)
|
||||
if ((visibleItems + oldItems) >= totalItems + 2 || endlessAppsAdapter.getItemCount() > 20)
|
||||
setLooper = false;
|
||||
if (dy > 0) {
|
||||
visibleItems = mLayoutManager.getChildCount();
|
||||
@@ -124,7 +144,10 @@ public class SearchAppsFragment extends SearchTask {
|
||||
} else
|
||||
setupListView(appList);
|
||||
}
|
||||
}, this::processException);
|
||||
}, err -> {
|
||||
processException(err);
|
||||
ohhSnap.setVisibility(View.VISIBLE);
|
||||
});
|
||||
}
|
||||
|
||||
public void addApps(List<App> appsToAdd) {
|
||||
@@ -139,5 +162,7 @@ public class SearchAppsFragment extends SearchTask {
|
||||
public void getLooper() {
|
||||
if (iterator.hasNext() && setLooper)
|
||||
fetchSearchAppsList(true);
|
||||
else if (!iterator.hasNext() && endlessAppsAdapter.getItemCount() <= 0)
|
||||
unicorn.setVisibility(View.VISIBLE);
|
||||
}
|
||||
}
|
||||
@@ -6,6 +6,7 @@ import android.content.Intent;
|
||||
import android.database.Cursor;
|
||||
import android.os.Bundle;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.v7.widget.CardView;
|
||||
import android.support.v7.widget.DefaultItemAnimator;
|
||||
import android.support.v7.widget.LinearLayoutManager;
|
||||
import android.support.v7.widget.RecyclerView;
|
||||
@@ -44,7 +45,7 @@ public class SearchFragment extends SearchHistoryTask implements HistoryItemTouc
|
||||
@BindView(R.id.searchHistory)
|
||||
RecyclerView recyclerView;
|
||||
@BindView(R.id.search_layout)
|
||||
RoundRectView search_layout;
|
||||
CardView search_layout;
|
||||
@BindView(R.id.emptyView)
|
||||
TextView emptyView;
|
||||
@BindView(R.id.clearAll)
|
||||
|
||||
@@ -8,6 +8,8 @@ import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.animation.AnimationUtils;
|
||||
import android.widget.Button;
|
||||
import android.widget.RelativeLayout;
|
||||
|
||||
import com.dragons.aurora.AppListIterator;
|
||||
import com.dragons.aurora.PlayStoreApiAuthenticator;
|
||||
@@ -21,6 +23,8 @@ import com.dragons.aurora.task.playstore.CategoryAppsTask;
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
|
||||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
import io.reactivex.Observable;
|
||||
import io.reactivex.android.schedulers.AndroidSchedulers;
|
||||
import io.reactivex.disposables.Disposable;
|
||||
@@ -28,12 +32,20 @@ import io.reactivex.schedulers.Schedulers;
|
||||
|
||||
public class TopFreeApps extends CategoryAppsTask {
|
||||
|
||||
@BindView(R.id.endless_apps_list)
|
||||
RecyclerView recyclerView;
|
||||
@BindView(R.id.unicorn)
|
||||
RelativeLayout unicorn;
|
||||
@BindView(R.id.ohhSnap)
|
||||
RelativeLayout ohhSnap;
|
||||
@BindView(R.id.progress)
|
||||
RelativeLayout progress;
|
||||
|
||||
private boolean setLooper = true;
|
||||
private boolean loading = true;
|
||||
private int oldItems, visibleItems, totalItems;
|
||||
private View view;
|
||||
private AppListIterator iterator;
|
||||
private RecyclerView recyclerView;
|
||||
private EndlessAppsAdapter endlessAppsAdapter;
|
||||
private Disposable disposable;
|
||||
|
||||
@@ -56,9 +68,24 @@ public class TopFreeApps extends CategoryAppsTask {
|
||||
@Override
|
||||
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
||||
view = inflater.inflate(R.layout.app_endless_inc, container, false);
|
||||
setRecyclerView(view.findViewById(R.id.endless_apps_list));
|
||||
ButterKnife.bind(this, view);
|
||||
setRecyclerView(recyclerView);
|
||||
setIterator(setupIterator(CategoryAppsFragment.categoryId, GooglePlayAPI.SUBCATEGORY.TOP_FREE));
|
||||
fetchCategoryApps(false);
|
||||
Button ohhSnap_retry = view.findViewById(R.id.ohhSnap_retry);
|
||||
ohhSnap_retry.setOnClickListener(click -> {
|
||||
if (isLoggedIn() && isConnected(getContext())) {
|
||||
hide(view, R.id.ohhSnap);
|
||||
fetchCategoryApps(false);
|
||||
}
|
||||
});
|
||||
Button retry_querry = view.findViewById(R.id.recheck_query);
|
||||
retry_querry.setOnClickListener(click -> {
|
||||
if (isLoggedIn() && isConnected(getContext())) {
|
||||
hide(view, R.id.unicorn);
|
||||
fetchCategoryApps(false);
|
||||
}
|
||||
});
|
||||
return view;
|
||||
}
|
||||
|
||||
@@ -78,6 +105,7 @@ public class TopFreeApps extends CategoryAppsTask {
|
||||
}
|
||||
|
||||
protected void setupListView(List<App> appsToAdd) {
|
||||
progress.setVisibility(View.GONE);
|
||||
LinearLayoutManager mLayoutManager = new LinearLayoutManager(this.getActivity());
|
||||
endlessAppsAdapter = new EndlessAppsAdapter(getActivity(), appsToAdd);
|
||||
recyclerView.setLayoutManager(mLayoutManager);
|
||||
@@ -86,7 +114,7 @@ public class TopFreeApps extends CategoryAppsTask {
|
||||
recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
|
||||
@Override
|
||||
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
|
||||
if ((visibleItems + oldItems) >= totalItems + 2)
|
||||
if ((visibleItems + oldItems) >= totalItems + 2 || endlessAppsAdapter.getItemCount() > 20)
|
||||
setLooper = false;
|
||||
if (dy > 0) {
|
||||
visibleItems = mLayoutManager.getChildCount();
|
||||
@@ -115,7 +143,10 @@ public class TopFreeApps extends CategoryAppsTask {
|
||||
addApps(appList);
|
||||
} else
|
||||
setupListView(appList);
|
||||
}, this::processException);
|
||||
}, err -> {
|
||||
processException(err);
|
||||
ohhSnap.setVisibility(View.VISIBLE);
|
||||
});
|
||||
}
|
||||
|
||||
public void addApps(List<App> appsToAdd) {
|
||||
@@ -130,5 +161,7 @@ public class TopFreeApps extends CategoryAppsTask {
|
||||
public void getLooper() {
|
||||
if (iterator.hasNext() && setLooper)
|
||||
fetchCategoryApps(true);
|
||||
else if (!iterator.hasNext() && endlessAppsAdapter.getItemCount() <= 0)
|
||||
unicorn.setVisibility(View.VISIBLE);
|
||||
}
|
||||
}
|
||||
@@ -2,21 +2,50 @@ package com.dragons.aurora.fragment;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.v7.widget.RecyclerView;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.Button;
|
||||
import android.widget.RelativeLayout;
|
||||
|
||||
import com.dragons.aurora.R;
|
||||
import com.dragons.aurora.playstoreapiv2.GooglePlayAPI;
|
||||
|
||||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
|
||||
public class TopGrossingApps extends TopFreeApps {
|
||||
@BindView(R.id.endless_apps_list)
|
||||
RecyclerView recyclerView;
|
||||
@BindView(R.id.unicorn)
|
||||
RelativeLayout unicorn;
|
||||
@BindView(R.id.ohhSnap)
|
||||
RelativeLayout ohhSnap;
|
||||
@BindView(R.id.progress)
|
||||
RelativeLayout progress;
|
||||
|
||||
@Override
|
||||
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
||||
View view = inflater.inflate(R.layout.app_endless_inc, container, false);
|
||||
ButterKnife.bind(this, view);
|
||||
setIterator(setupIterator(CategoryAppsFragment.categoryId, GooglePlayAPI.SUBCATEGORY.TOP_GROSSING));
|
||||
setRecyclerView(view.findViewById(R.id.endless_apps_list));
|
||||
setRecyclerView(recyclerView);
|
||||
fetchCategoryApps(false);
|
||||
Button ohhSnap_retry = view.findViewById(R.id.ohhSnap_retry);
|
||||
ohhSnap_retry.setOnClickListener(click -> {
|
||||
if (isLoggedIn() && isConnected(getContext())) {
|
||||
hide(view, R.id.ohhSnap);
|
||||
fetchCategoryApps(false);
|
||||
}
|
||||
});
|
||||
Button retry_querry = view.findViewById(R.id.recheck_query);
|
||||
retry_querry.setOnClickListener(click -> {
|
||||
if (isLoggedIn() && isConnected(getContext())) {
|
||||
hide(view, R.id.unicorn);
|
||||
fetchCategoryApps(false);
|
||||
}
|
||||
});
|
||||
return view;
|
||||
}
|
||||
}
|
||||
@@ -2,21 +2,50 @@ package com.dragons.aurora.fragment;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.v7.widget.RecyclerView;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.Button;
|
||||
import android.widget.RelativeLayout;
|
||||
|
||||
import com.dragons.aurora.R;
|
||||
import com.dragons.aurora.playstoreapiv2.GooglePlayAPI;
|
||||
|
||||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
|
||||
public class TopTrendingApps extends TopFreeApps {
|
||||
@BindView(R.id.endless_apps_list)
|
||||
RecyclerView recyclerView;
|
||||
@BindView(R.id.unicorn)
|
||||
RelativeLayout unicorn;
|
||||
@BindView(R.id.ohhSnap)
|
||||
RelativeLayout ohhSnap;
|
||||
@BindView(R.id.progress)
|
||||
RelativeLayout progress;
|
||||
|
||||
@Override
|
||||
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
||||
View view = inflater.inflate(R.layout.app_endless_inc, container, false);
|
||||
ButterKnife.bind(this, view);
|
||||
setIterator(setupIterator(CategoryAppsFragment.categoryId, GooglePlayAPI.SUBCATEGORY.MOVERS_SHAKERS));
|
||||
setRecyclerView(view.findViewById(R.id.endless_apps_list));
|
||||
setRecyclerView(recyclerView);
|
||||
fetchCategoryApps(false);
|
||||
Button ohhSnap_retry = view.findViewById(R.id.ohhSnap_retry);
|
||||
ohhSnap_retry.setOnClickListener(click -> {
|
||||
if (isLoggedIn() && isConnected(getContext())) {
|
||||
hide(view, R.id.ohhSnap);
|
||||
fetchCategoryApps(false);
|
||||
}
|
||||
});
|
||||
Button retry_query = view.findViewById(R.id.recheck_query);
|
||||
retry_query.setOnClickListener(click -> {
|
||||
if (isLoggedIn() && isConnected(getContext())) {
|
||||
hide(view, R.id.unicorn);
|
||||
fetchCategoryApps(false);
|
||||
}
|
||||
});
|
||||
return view;
|
||||
}
|
||||
}
|
||||
@@ -1,11 +1,11 @@
|
||||
package com.dragons.aurora.fragment;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.content.SharedPreferences;
|
||||
import android.os.Bundle;
|
||||
import android.preference.PreferenceManager;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.v4.widget.SwipeRefreshLayout;
|
||||
import android.support.v7.widget.CardView;
|
||||
import android.support.v7.widget.LinearLayoutManager;
|
||||
import android.support.v7.widget.RecyclerView;
|
||||
import android.support.v7.widget.helper.ItemTouchHelper;
|
||||
@@ -15,7 +15,6 @@ import android.view.ViewGroup;
|
||||
import android.view.animation.AnimationUtils;
|
||||
import android.widget.Button;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.dragons.aurora.AuroraApplication;
|
||||
@@ -25,19 +24,20 @@ import com.dragons.aurora.R;
|
||||
import com.dragons.aurora.UpdatableRecyclerItemTouchHelper;
|
||||
import com.dragons.aurora.UpdateAllReceiver;
|
||||
import com.dragons.aurora.UpdateChecker;
|
||||
import com.dragons.aurora.Util;
|
||||
import com.dragons.aurora.adapters.UpdatableAppsAdapter;
|
||||
import com.dragons.aurora.model.App;
|
||||
import com.dragons.aurora.notification.CancelDownloadService;
|
||||
import com.dragons.aurora.task.playstore.UpdatableAppsTaskHelper;
|
||||
import com.github.florent37.shapeofview.shapes.RoundRectView;
|
||||
import com.percolate.caffeine.ToastUtils;
|
||||
import com.percolate.caffeine.ViewUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
|
||||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
import io.reactivex.Observable;
|
||||
import io.reactivex.android.schedulers.AndroidSchedulers;
|
||||
import io.reactivex.disposables.Disposable;
|
||||
@@ -48,20 +48,35 @@ public class UpdatableAppsFragment extends UpdatableAppsTaskHelper implements Up
|
||||
public static int updates = 0;
|
||||
public static boolean recheck = false;
|
||||
public UpdatableAppsAdapter updatableAppsAdapter;
|
||||
@BindView(R.id.swipe_refresh_layout)
|
||||
SwipeRefreshLayout swipeRefreshLayout;
|
||||
@BindView(R.id.updatable_apps_list)
|
||||
RecyclerView recyclerView;
|
||||
@BindView(R.id.update_all)
|
||||
Button update;
|
||||
@BindView(R.id.update_cancel)
|
||||
Button cancel;
|
||||
@BindView(R.id.recheck_updates)
|
||||
Button recheck_update;
|
||||
@BindView(R.id.ohhSnap_retry)
|
||||
Button retry_update;
|
||||
@BindView(R.id.updates_txt)
|
||||
TextView updates_txt;
|
||||
@BindView(R.id.updates_setting)
|
||||
TextView deltaTextView;
|
||||
private List<App> updatableApps = new ArrayList<>(new HashSet<>());
|
||||
private UpdateAllReceiver updateAllReceiver;
|
||||
private View view;
|
||||
private Disposable loadApps;
|
||||
private SwipeRefreshLayout swipeRefreshLayout;
|
||||
private UpdateAllReceiver updateAllReceiver;
|
||||
private Button update;
|
||||
private Button recheck_update;
|
||||
private Button cancel;
|
||||
private TextView txt;
|
||||
private List<App> updatableApps = new ArrayList<>(new HashSet<>());
|
||||
|
||||
public static UpdatableAppsFragment newInstance() {
|
||||
return new UpdatableAppsFragment();
|
||||
}
|
||||
|
||||
public Boolean isAlreadyUpdating() {
|
||||
return ((AuroraApplication) getActivity().getApplication()).isBackgroundUpdating();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
@@ -80,10 +95,10 @@ public class UpdatableAppsFragment extends UpdatableAppsTaskHelper implements Up
|
||||
}
|
||||
|
||||
view = inflater.inflate(R.layout.app_updatable_inc, container, false);
|
||||
initViews();
|
||||
ButterKnife.bind(this, view);
|
||||
|
||||
swipeRefreshLayout.setOnRefreshListener(() -> {
|
||||
if (isLoggedIn() && isConnected(getContext()))
|
||||
if (isLoggedIn() && isConnected(getContext()) && !isAlreadyUpdating())
|
||||
loadUpdatableApps();
|
||||
else
|
||||
swipeRefreshLayout.setRefreshing(false);
|
||||
@@ -92,25 +107,26 @@ public class UpdatableAppsFragment extends UpdatableAppsTaskHelper implements Up
|
||||
recheck_update.setOnClickListener(click -> {
|
||||
if (isLoggedIn() && isConnected(getContext())) {
|
||||
hide(view, R.id.unicorn);
|
||||
txt.setText(R.string.list_update_chk_txt);
|
||||
swipeRefreshLayout.setRefreshing(true);
|
||||
updates_txt.setText(R.string.list_update_chk_txt);
|
||||
loadUpdatableApps();
|
||||
}
|
||||
});
|
||||
|
||||
retry_update.setOnClickListener(click -> {
|
||||
if (isLoggedIn() && isConnected(getContext())) {
|
||||
hide(view, R.id.ohhSnap);
|
||||
if (updatableAppsAdapter == null || updatableAppsAdapter.getItemCount() <= 0) {
|
||||
updates_txt.setText(R.string.list_update_chk_txt);
|
||||
loadUpdatableApps();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
setupAutoUpdate();
|
||||
setupDelta();
|
||||
return view;
|
||||
}
|
||||
|
||||
private void initViews() {
|
||||
recheck_update = ViewUtils.findViewById(view, R.id.recheck_updates);
|
||||
update = ViewUtils.findViewById(view, R.id.update_all);
|
||||
cancel = ViewUtils.findViewById(view, R.id.update_cancel);
|
||||
txt = ViewUtils.findViewById(view, R.id.updates_txt);
|
||||
swipeRefreshLayout = ViewUtils.findViewById(view, R.id.swipe_refresh_layout);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
@@ -136,21 +152,6 @@ public class UpdatableAppsFragment extends UpdatableAppsTaskHelper implements Up
|
||||
swipeRefreshLayout.setRefreshing(false);
|
||||
}
|
||||
|
||||
protected void setupListView(List<App> appsToAdd) {
|
||||
RecyclerView recyclerView = view.findViewById(R.id.updatable_apps_list);
|
||||
recyclerView.setItemViewCacheSize(30);
|
||||
recyclerView.setHasFixedSize(true);
|
||||
recyclerView.setLayoutManager(new LinearLayoutManager(this.getActivity()));
|
||||
recyclerView.setLayoutAnimation(AnimationUtils.loadLayoutAnimation(getContext(), R.anim.layout_anim));
|
||||
|
||||
updatableAppsAdapter = new UpdatableAppsAdapter(getActivity(), appsToAdd);
|
||||
recyclerView.setAdapter(updatableAppsAdapter);
|
||||
|
||||
new ItemTouchHelper(
|
||||
new UpdatableRecyclerItemTouchHelper(0, ItemTouchHelper.LEFT, this))
|
||||
.attachToRecyclerView(recyclerView);
|
||||
}
|
||||
|
||||
public void launchUpdateAll() {
|
||||
((AuroraApplication) getActivity().getApplicationContext()).setBackgroundUpdating(true);
|
||||
new UpdateChecker().onReceive(UpdatableAppsFragment.this.getActivity(), getActivity().getIntent());
|
||||
@@ -158,13 +159,16 @@ public class UpdatableAppsFragment extends UpdatableAppsTaskHelper implements Up
|
||||
show(view, R.id.update_cancel);
|
||||
}
|
||||
|
||||
public void setupButtons() {
|
||||
public void addButtons() {
|
||||
if (update.getVisibility() == View.VISIBLE)
|
||||
return;
|
||||
hide(view, R.id.unicorn);
|
||||
update.setVisibility(View.VISIBLE);
|
||||
update.setOnClickListener(v -> {
|
||||
launchUpdateAll();
|
||||
update.setVisibility(View.GONE);
|
||||
cancel.setVisibility(View.VISIBLE);
|
||||
txt.setText(R.string.list_updating);
|
||||
updates_txt.setText(R.string.list_updating);
|
||||
});
|
||||
|
||||
cancel.setOnClickListener(v -> {
|
||||
@@ -172,22 +176,23 @@ public class UpdatableAppsFragment extends UpdatableAppsTaskHelper implements Up
|
||||
getContext().startService(new Intent(getContext().getApplicationContext(), CancelDownloadService.class)
|
||||
.putExtra(CancelDownloadService.PACKAGE_NAME, app.getPackageName()));
|
||||
}
|
||||
((AuroraApplication) getActivity().getApplicationContext()).setBackgroundUpdating(false);
|
||||
update.setVisibility(View.VISIBLE);
|
||||
cancel.setVisibility(View.GONE);
|
||||
setText(view, R.id.updates_txt, R.string.list_update_all_txt, updatableApps.size());
|
||||
setUpdates(updatableApps.size());
|
||||
});
|
||||
}
|
||||
|
||||
public void removeButtons() {
|
||||
show(view, R.id.unicorn);
|
||||
update.setVisibility(View.GONE);
|
||||
cancel.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
public void setupDelta() {
|
||||
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getActivity());
|
||||
TextView delta = ViewUtils.findViewById(view, R.id.updates_setting);
|
||||
delta.setText(sharedPreferences.getBoolean("PREFERENCE_DOWNLOAD_DELTAS", true) ? R.string.delta_enabled : R.string.delta_disabled);
|
||||
delta.setVisibility(View.VISIBLE);
|
||||
deltaTextView.setText(PreferenceFragment.getBoolean(getContext(), "PREFERENCE_DOWNLOAD_DELTAS")
|
||||
? R.string.delta_enabled
|
||||
: R.string.delta_disabled);
|
||||
}
|
||||
|
||||
public void updateInteger(int count) {
|
||||
@@ -197,7 +202,7 @@ public class UpdatableAppsFragment extends UpdatableAppsTaskHelper implements Up
|
||||
}
|
||||
|
||||
public void setupAutoUpdate() {
|
||||
RoundRectView autoUpdatesCard = view.findViewById(R.id.autoUpdatesCard);
|
||||
CardView autoUpdatesCard = view.findViewById(R.id.autoUpdatesCard);
|
||||
ImageView autoUpdatesClose = view.findViewById(R.id.autoUpdatesClose);
|
||||
Button autoUpdatesSwitch = view.findViewById(R.id.autoUpdatesSwitch);
|
||||
boolean shouldAsk = PreferenceFragment.getBoolean(getContext(), "PROMPT_UPDATE_INTERVAL");
|
||||
@@ -229,23 +234,48 @@ public class UpdatableAppsFragment extends UpdatableAppsTaskHelper implements Up
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe((appList) -> {
|
||||
if (view != null) {
|
||||
updatableApps = new ArrayList<>(new HashSet<>(appList));
|
||||
Collections.sort(updatableApps);
|
||||
setupListView(updatableApps);
|
||||
updateInteger(updatableApps.size());
|
||||
updatableApps.clear();
|
||||
updatableApps.addAll(appList);
|
||||
setupList(updatableApps);
|
||||
swipeRefreshLayout.setRefreshing(false);
|
||||
|
||||
if (success() && updatableApps.isEmpty()) {
|
||||
show(view, R.id.unicorn);
|
||||
setText(view, R.id.updates_txt, R.string.list_update_all_txt, updatableApps.size());
|
||||
removeButtons();
|
||||
} else {
|
||||
hide(view, R.id.unicorn);
|
||||
setText(view, R.id.updates_txt, R.string.list_update_all_txt, updatableApps.size());
|
||||
setupButtons();
|
||||
}
|
||||
}
|
||||
}, this::processException);
|
||||
}, err -> {
|
||||
swipeRefreshLayout.setRefreshing(false);
|
||||
processException(err);
|
||||
show(view, R.id.ohhSnap);
|
||||
});
|
||||
}
|
||||
|
||||
private void setupList(List<App> updatableApps) {
|
||||
setUpdates(updatableApps.size());
|
||||
updateInteger(updatableApps.size());
|
||||
|
||||
if (updatableApps.isEmpty())
|
||||
removeButtons();
|
||||
else
|
||||
addButtons();
|
||||
|
||||
if (recyclerView.getAdapter() == null)
|
||||
setupRecycler(updatableApps);
|
||||
else {
|
||||
updatableAppsAdapter.appsToAdd = updatableApps;
|
||||
Util.reloadRecycler(recyclerView);
|
||||
}
|
||||
}
|
||||
|
||||
protected void setupRecycler(List<App> appsToAdd) {
|
||||
updatableAppsAdapter = new UpdatableAppsAdapter(getActivity(), appsToAdd);
|
||||
recyclerView.setItemViewCacheSize(20);
|
||||
recyclerView.setLayoutManager(new LinearLayoutManager(this.getActivity()));
|
||||
recyclerView.setLayoutAnimation(AnimationUtils.loadLayoutAnimation(getContext(), R.anim.layout_anim));
|
||||
recyclerView.setAdapter(updatableAppsAdapter);
|
||||
new ItemTouchHelper(
|
||||
new UpdatableRecyclerItemTouchHelper(0, ItemTouchHelper.LEFT, this))
|
||||
.attachToRecyclerView(recyclerView);
|
||||
}
|
||||
|
||||
private void setUpdates(int count) {
|
||||
setText(view, R.id.updates_txt, R.string.list_update_all_txt, count);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -255,14 +285,11 @@ public class UpdatableAppsFragment extends UpdatableAppsTaskHelper implements Up
|
||||
.add(((UpdatableAppsAdapter.ViewHolder) viewHolder).app.getPackageName());
|
||||
|
||||
updatableAppsAdapter.remove(position);
|
||||
setUpdates(updatableAppsAdapter.getItemCount());
|
||||
updateInteger(updatableAppsAdapter.getItemCount());
|
||||
|
||||
if (updatableAppsAdapter.getItemCount() == 0) {
|
||||
view.findViewById(R.id.unicorn).setVisibility(View.VISIBLE);
|
||||
setText(view, R.id.updates_txt, R.string.list_update_all_txt, 0);
|
||||
updateInteger(0);
|
||||
if (updatableAppsAdapter.getItemCount() == 0)
|
||||
removeButtons();
|
||||
} else
|
||||
view.findViewById(R.id.unicorn).setVisibility(View.GONE);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,5 +30,4 @@ public abstract class UtilFragment extends AccountsHelper {
|
||||
protected void setText(View v, int viewId, int stringId, Object... text) {
|
||||
setText(v, viewId, v.getResources().getString(stringId, text));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -25,6 +25,7 @@ import com.dragons.aurora.activities.AuroraActivity;
|
||||
import com.dragons.aurora.fragment.DetailsFragment;
|
||||
import com.dragons.aurora.model.App;
|
||||
import com.dragons.aurora.model.ImageSource;
|
||||
import com.github.florent37.shapeofview.shapes.RoundRectView;
|
||||
import com.squareup.picasso.Callback;
|
||||
import com.squareup.picasso.Picasso;
|
||||
|
||||
@@ -133,12 +134,14 @@ public class GeneralDetails extends AbstractHelper {
|
||||
paintButton(color, R.id.run);
|
||||
paintButton(color, R.id.beta_subscribe_button);
|
||||
paintButton(color, R.id.beta_submit_button);
|
||||
paintTextView(color, R.id.beta_header);
|
||||
paintTextView(color, R.id.permissions_header);
|
||||
paintTextView(color, R.id.exodus_title);
|
||||
paintTextView(color, R.id.changes_upper);
|
||||
if (!Util.isDark(fragment.getContext())) {
|
||||
paintTextView(color, R.id.beta_header);
|
||||
paintTextView(color, R.id.permissions_header);
|
||||
paintTextView(color, R.id.exodus_title);
|
||||
paintTextView(color, R.id.changes_upper);
|
||||
paintTextView(color, R.id.showLessMoreTxt);
|
||||
}
|
||||
paintLLayout(color, R.id.changes_container);
|
||||
paintTextView(color, R.id.showLessMoreTxt);
|
||||
paintImageView(color, R.id.privacy_ico);
|
||||
paintImageViewBg(color, R.id.apps_similar);
|
||||
paintImageViewBg(color, R.id.apps_recommended);
|
||||
@@ -291,11 +294,11 @@ public class GeneralDetails extends AbstractHelper {
|
||||
if (changelogLayout.getVisibility() == View.GONE) {
|
||||
show(fragment.getView(), R.id.changelog_container);
|
||||
showLessMoreTxt.setText(R.string.details_less);
|
||||
showLessMore.setImageResource(R.drawable.ic_expand_less);
|
||||
showLessMore.animate().rotation(180).start();
|
||||
} else {
|
||||
hide(fragment.getView(), R.id.changelog_container);
|
||||
showLessMoreTxt.setText(R.string.details_more);
|
||||
showLessMore.setImageResource(R.drawable.ic_expand_more);
|
||||
showLessMore.animate().rotation(0).start();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -15,7 +15,6 @@ import android.widget.RelativeLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.dragons.aurora.Util;
|
||||
import com.github.florent37.shapeofview.shapes.RoundRectView;
|
||||
|
||||
public abstract class ListItem {
|
||||
|
||||
|
||||
@@ -107,11 +107,11 @@ public class UpdatableAppBadge extends AppBadge {
|
||||
}
|
||||
} else removeChanges();
|
||||
});
|
||||
drawButtons();
|
||||
}
|
||||
|
||||
public void drawButtons() {
|
||||
private void drawButtons() {
|
||||
init();
|
||||
|
||||
listContainer.setOnClickListener(click ->
|
||||
context.startActivity(DetailsActivity.getDetailsIntent(context, app.getPackageName())));
|
||||
|
||||
@@ -174,13 +174,11 @@ public class UpdatableAppBadge extends AppBadge {
|
||||
}
|
||||
|
||||
private void drawChanges() {
|
||||
viewChanges.setImageResource(R.drawable.ic_expand_less_24);
|
||||
|
||||
viewChanges.animate().rotation(180).start();
|
||||
if (app.getChanges().isEmpty())
|
||||
changes.setText(R.string.details_changelog_empty);
|
||||
else
|
||||
changes.setText(Html.fromHtml(app.getChanges()).toString());
|
||||
|
||||
show(changesContainer);
|
||||
show(singleButtons);
|
||||
show(progressContainer);
|
||||
@@ -190,17 +188,19 @@ public class UpdatableAppBadge extends AppBadge {
|
||||
hide(changesContainer);
|
||||
hide(singleButtons);
|
||||
hide(progressContainer);
|
||||
viewChanges.setImageResource(R.drawable.ic_expand_more_24);
|
||||
viewChanges.animate().rotation(0).start();
|
||||
}
|
||||
|
||||
private void getPalette(Bitmap bitmap) {
|
||||
Palette.from(bitmap)
|
||||
.generate(palette -> {
|
||||
paintTextView(palette.getDarkVibrantColor(Color.DKGRAY), changes);
|
||||
paintButton(palette.getDarkVibrantColor(Color.DKGRAY), update);
|
||||
paintButton(palette.getDarkVibrantColor(Color.DKGRAY), install);
|
||||
paintLayout(palette.getDarkVibrantColor(Color.DKGRAY), R.id.view_background);
|
||||
paintLLayout(palette.getDarkVibrantColor(Color.DKGRAY), R.id.changes_container);
|
||||
if (!Util.isDark(context)) {
|
||||
paintTextView(palette.getDarkVibrantColor(Color.DKGRAY), changes);
|
||||
paintLayout(palette.getDarkVibrantColor(Color.DKGRAY), R.id.view_background);
|
||||
paintLLayout(palette.getDarkVibrantColor(Color.DKGRAY), R.id.changes_container);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -16,13 +16,14 @@ import android.widget.RelativeLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.dragons.aurora.R;
|
||||
import com.dragons.aurora.Util;
|
||||
import com.github.florent37.shapeofview.shapes.CircleView;
|
||||
|
||||
public class FilterBadge extends RelativeLayout {
|
||||
private Context context;
|
||||
private boolean badgeChecked;
|
||||
private RelativeLayout badgeContainer;
|
||||
private CircleView badgeDot;
|
||||
private View badgeDot;
|
||||
private CircleView badgeCancel;
|
||||
private TextView badgeText;
|
||||
private String title;
|
||||
@@ -102,7 +103,7 @@ public class FilterBadge extends RelativeLayout {
|
||||
private void setupBadge() {
|
||||
if (!isBadgeChecked()) {
|
||||
badgeDot.setVisibility(VISIBLE);
|
||||
badgeText.setTextColor(Color.BLACK);
|
||||
badgeText.setTextColor(Util.getStyledAttribute(context, android.R.attr.textColorPrimary));
|
||||
badgeContainer.setBackgroundTintList(null);
|
||||
badgeCancel.setVisibility(GONE);
|
||||
badgeChecked = false;
|
||||
|
||||
@@ -15,8 +15,6 @@ import com.dragons.aurora.R;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import static com.dragons.custom.CustomAppBar.MORE_ICON_TAG;
|
||||
|
||||
class MenuNavigationItemsAdapter extends RecyclerView.Adapter<MenuNavigationItemsAdapter.MenuNavItem> {
|
||||
|
||||
private Context context;
|
||||
@@ -28,7 +26,6 @@ class MenuNavigationItemsAdapter extends RecyclerView.Adapter<MenuNavigationItem
|
||||
this.context = context;
|
||||
this.onClickListener = onClickListener;
|
||||
this.navItems = new ArrayList<>();
|
||||
|
||||
populateNavigationItems(menuRes);
|
||||
}
|
||||
|
||||
@@ -46,9 +43,6 @@ class MenuNavigationItemsAdapter extends RecyclerView.Adapter<MenuNavigationItem
|
||||
holder.label.setText(item.getTitle());
|
||||
holder.icon.setImageDrawable(item.getIcon());
|
||||
holder.itemView.setTag(item.getResId());
|
||||
|
||||
if (item.getTitle().isEmpty()) setupMoreIcon(holder);
|
||||
|
||||
holder.itemView.setOnClickListener(onClickListener);
|
||||
}
|
||||
|
||||
@@ -59,15 +53,6 @@ class MenuNavigationItemsAdapter extends RecyclerView.Adapter<MenuNavigationItem
|
||||
|
||||
private void populateNavigationItems(int menuRes) {
|
||||
MenuParserHelper.parseMenu(context, menuRes, navItems);
|
||||
//Drawable moreIcon = context.getResources().getDrawable(R.drawable.more);
|
||||
//navItems.add(new MenuEntry("", moreIcon, 0));
|
||||
}
|
||||
|
||||
private void setupMoreIcon(MenuNavItem menuNavItem) {
|
||||
menuNavItem.itemView.setFocusable(false);
|
||||
menuNavItem.itemView.setFocusableInTouchMode(false);
|
||||
menuNavItem.itemView.setBackground(null);
|
||||
menuNavItem.itemView.setTag(MORE_ICON_TAG);
|
||||
}
|
||||
|
||||
class MenuNavItem extends RecyclerView.ViewHolder {
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
<corners android:radius="250dp" />
|
||||
<stroke
|
||||
android:width="1dp"
|
||||
android:color="#22545454" />
|
||||
android:color="?android:attr/strokeColor" />
|
||||
</shape>
|
||||
</item>
|
||||
</ripple>
|
||||
|
||||
@@ -7,7 +7,8 @@
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<solid android:color="?android:attr/panelBackground" />
|
||||
<corners android:radius="8dp" />
|
||||
<corners android:radius="250dp" />
|
||||
<stroke android:width="1dp" android:color="?android:attr/strokeColor"/>
|
||||
</shape>
|
||||
</item>
|
||||
</ripple>
|
||||
|
||||
@@ -6,11 +6,8 @@
|
||||
<item>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<corners android:radius="8dp" />
|
||||
<corners android:radius="250dp" />
|
||||
<solid android:color="#FF5252" />
|
||||
<stroke
|
||||
android:width="1dip"
|
||||
android:color="#FF5252" />
|
||||
</shape>
|
||||
</item>
|
||||
</ripple>
|
||||
|
||||
@@ -6,11 +6,8 @@
|
||||
<item>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<corners android:radius="8dp" />
|
||||
<corners android:radius="250dp" />
|
||||
<solid android:color="?android:attr/colorAccent" />
|
||||
<stroke
|
||||
android:width="1dip"
|
||||
android:color="?android:attr/colorAccent" />
|
||||
</shape>
|
||||
</item>
|
||||
</ripple>
|
||||
|
||||
9
app/src/main/res/drawable/ic_download_alt.xml
Normal file
9
app/src/main/res/drawable/ic_download_alt.xml
Normal file
@@ -0,0 +1,9 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportHeight="24"
|
||||
android:viewportWidth="24">
|
||||
<path
|
||||
android:fillColor="?android:attr/colorForeground"
|
||||
android:pathData="M11,4H13V16L18.5,10.5L19.92,11.92L12,19.84L4.08,11.92L5.5,10.5L11,16V4Z" />
|
||||
</vector>
|
||||
9
app/src/main/res/drawable/ic_err.xml
Normal file
9
app/src/main/res/drawable/ic_err.xml
Normal file
@@ -0,0 +1,9 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M11,15H13V17H11V15M11,7H13V13H11V7M12,2C6.47,2 2,6.5 2,12A10,10 0,0 0,12 22A10,10 0,0 0,22 12A10,10 0,0 0,12 2M12,20A8,8 0,0 1,4 12A8,8 0,0 1,12 4A8,8 0,0 1,20 12A8,8 0,0 1,12 20Z"/>
|
||||
</vector>
|
||||
@@ -16,19 +16,30 @@
|
||||
<com.github.florent37.shapeofview.shapes.DiagonalView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@drawable/header_grad2"
|
||||
app:diagonal_angle="5"
|
||||
app:diagonal_direction="left"
|
||||
app:diagonal_position="right" />
|
||||
app:shape_diagonal_angle="5"
|
||||
app:shape_diagonal_direction="left"
|
||||
app:shape_diagonal_position="right">
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@drawable/header_grad2" />
|
||||
</com.github.florent37.shapeofview.shapes.DiagonalView>
|
||||
|
||||
|
||||
<com.github.florent37.shapeofview.shapes.DiagonalView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:alpha=".8"
|
||||
android:background="@drawable/header_grad1"
|
||||
app:diagonal_angle="10"
|
||||
app:diagonal_direction="right"
|
||||
app:diagonal_position="right" />
|
||||
app:shape_diagonal_angle="10"
|
||||
app:shape_diagonal_direction="right"
|
||||
app:shape_diagonal_position="right">
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@drawable/header_grad1" />
|
||||
</com.github.florent37.shapeofview.shapes.DiagonalView>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/topView"
|
||||
@@ -75,17 +86,16 @@
|
||||
android:layout_marginTop="10dp"
|
||||
android:paddingBottom="10dp">
|
||||
|
||||
<com.github.florent37.shapeofview.shapes.RoundRectView
|
||||
<android.support.v7.widget.CardView
|
||||
android:id="@+id/google_card"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="10dp"
|
||||
android:background="?android:attr/panelBackground"
|
||||
android:elevation="5dp"
|
||||
app:roundRect_bottomLeftRadius="10dp"
|
||||
app:roundRect_bottomRightRadius="10dp"
|
||||
app:roundRect_topLeftRadius="10dp"
|
||||
app:roundRect_topRightRadius="10dp">
|
||||
app:cardBackgroundColor="?android:attr/panelBackground"
|
||||
app:cardCornerRadius="10dp"
|
||||
app:cardElevation="1dp"
|
||||
app:cardPreventCornerOverlap="false"
|
||||
app:cardUseCompatPadding="true">
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
@@ -197,7 +207,7 @@
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
</com.github.florent37.shapeofview.shapes.RoundRectView>
|
||||
</android.support.v7.widget.CardView>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/or_txt"
|
||||
@@ -209,17 +219,16 @@
|
||||
android:text="@string/action_or"
|
||||
android:textSize="16sp" />
|
||||
|
||||
<com.github.florent37.shapeofview.shapes.RoundRectView
|
||||
<android.support.v7.widget.CardView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@+id/or_txt"
|
||||
android:layout_margin="10dp"
|
||||
android:background="?android:attr/panelBackground"
|
||||
android:elevation="5dp"
|
||||
app:roundRect_bottomLeftRadius="10dp"
|
||||
app:roundRect_bottomRightRadius="10dp"
|
||||
app:roundRect_topLeftRadius="10dp"
|
||||
app:roundRect_topRightRadius="10dp">
|
||||
app:cardBackgroundColor="?android:attr/panelBackground"
|
||||
app:cardCornerRadius="10dp"
|
||||
app:cardElevation="1dp"
|
||||
app:cardPreventCornerOverlap="false"
|
||||
app:cardUseCompatPadding="true">
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
@@ -278,7 +287,7 @@
|
||||
android:textSize="12sp" />
|
||||
</RelativeLayout>
|
||||
|
||||
</com.github.florent37.shapeofview.shapes.RoundRectView>
|
||||
</android.support.v7.widget.CardView>
|
||||
</RelativeLayout>
|
||||
|
||||
</android.support.v4.widget.NestedScrollView>
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="?android:attr/colorBackground"
|
||||
android:baselineAligned="false"
|
||||
android:orientation="horizontal"
|
||||
android:weightSum="2">
|
||||
|
||||
@@ -16,19 +17,30 @@
|
||||
<com.github.florent37.shapeofview.shapes.DiagonalView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@drawable/header_grad2"
|
||||
app:diagonal_angle="5"
|
||||
app:diagonal_direction="left"
|
||||
app:diagonal_position="right" />
|
||||
app:shape_diagonal_angle="5"
|
||||
app:shape_diagonal_direction="left"
|
||||
app:shape_diagonal_position="right">
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@drawable/header_grad2" />
|
||||
</com.github.florent37.shapeofview.shapes.DiagonalView>
|
||||
|
||||
|
||||
<com.github.florent37.shapeofview.shapes.DiagonalView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:alpha=".8"
|
||||
android:background="@drawable/header_grad1"
|
||||
app:diagonal_angle="10"
|
||||
app:diagonal_direction="right"
|
||||
app:diagonal_position="right" />
|
||||
app:shape_diagonal_angle="10"
|
||||
app:shape_diagonal_direction="right"
|
||||
app:shape_diagonal_position="right">
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@drawable/header_grad1" />
|
||||
</com.github.florent37.shapeofview.shapes.DiagonalView>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/topView"
|
||||
@@ -74,25 +86,23 @@
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1"
|
||||
android:paddingTop="28dp"
|
||||
android:paddingBottom="10dp">
|
||||
android:paddingBottom="10dp"
|
||||
android:paddingTop="28dp">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
|
||||
<com.github.florent37.shapeofview.shapes.RoundRectView
|
||||
|
||||
<android.support.v7.widget.CardView
|
||||
android:id="@+id/dummyCard"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="10dp"
|
||||
android:background="?android:attr/panelBackground"
|
||||
android:elevation="5dp"
|
||||
app:roundRect_bottomLeftRadius="10dp"
|
||||
app:roundRect_bottomRightRadius="10dp"
|
||||
app:roundRect_topLeftRadius="10dp"
|
||||
app:roundRect_topRightRadius="10dp">
|
||||
app:cardBackgroundColor="?android:attr/panelBackground"
|
||||
app:cardCornerRadius="10dp">
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
@@ -216,20 +226,17 @@
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
</com.github.florent37.shapeofview.shapes.RoundRectView>
|
||||
</android.support.v7.widget.CardView>
|
||||
|
||||
<com.github.florent37.shapeofview.shapes.RoundRectView
|
||||
<android.support.v7.widget.CardView
|
||||
android:id="@+id/emptyCard"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="10dp"
|
||||
android:background="?android:attr/panelBackground"
|
||||
android:elevation="5dp"
|
||||
app:cardBackgroundColor="?android:attr/panelBackground"
|
||||
app:cardElevation="2dp"
|
||||
android:visibility="gone"
|
||||
app:roundRect_bottomLeftRadius="10dp"
|
||||
app:roundRect_bottomRightRadius="10dp"
|
||||
app:roundRect_topLeftRadius="10dp"
|
||||
app:roundRect_topRightRadius="10dp">
|
||||
app:cardCornerRadius="10dp">
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
@@ -243,8 +250,8 @@
|
||||
android:layout_height="64dp"
|
||||
android:layout_centerInParent="true"
|
||||
android:background="?android:selectableItemBackgroundBorderless"
|
||||
app:circle_borderColor="@color/colorRed"
|
||||
app:circle_borderWidth="1dp">
|
||||
app:shape_circle_borderColor="@color/colorRed"
|
||||
app:shape_circle_borderWidth="1dp">
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/add_secondary"
|
||||
@@ -252,8 +259,8 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:background="@android:color/transparent"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:clickable="false"
|
||||
android:focusable="false"
|
||||
app:srcCompat="@drawable/ic_add" />
|
||||
</com.github.florent37.shapeofview.shapes.CircleView>
|
||||
|
||||
@@ -268,21 +275,17 @@
|
||||
android:textSize="16sp" />
|
||||
|
||||
</RelativeLayout>
|
||||
</android.support.v7.widget.CardView>
|
||||
|
||||
</com.github.florent37.shapeofview.shapes.RoundRectView>
|
||||
|
||||
<com.github.florent37.shapeofview.shapes.RoundRectView
|
||||
<android.support.v7.widget.CardView
|
||||
android:id="@+id/googleCard"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="10dp"
|
||||
android:background="?android:attr/panelBackground"
|
||||
android:elevation="5dp"
|
||||
app:cardBackgroundColor="?android:attr/panelBackground"
|
||||
app:cardElevation="2dp"
|
||||
android:visibility="gone"
|
||||
app:roundRect_bottomLeftRadius="10dp"
|
||||
app:roundRect_bottomRightRadius="10dp"
|
||||
app:roundRect_topLeftRadius="10dp"
|
||||
app:roundRect_topRightRadius="10dp">
|
||||
app:cardCornerRadius="10dp">
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
@@ -404,8 +407,7 @@
|
||||
</RelativeLayout>
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
</com.github.florent37.shapeofview.shapes.RoundRectView>
|
||||
</android.support.v7.widget.CardView>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
@@ -13,19 +13,31 @@
|
||||
<com.github.florent37.shapeofview.shapes.DiagonalView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="200dp"
|
||||
android:background="@drawable/header_grad2"
|
||||
app:diagonal_angle="5"
|
||||
app:diagonal_direction="left"
|
||||
app:diagonal_position="bottom" />
|
||||
app:shape_diagonal_angle="5"
|
||||
app:shape_diagonal_direction="left"
|
||||
app:shape_diagonal_position="bottom">
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@drawable/header_grad2" />
|
||||
</com.github.florent37.shapeofview.shapes.DiagonalView>
|
||||
|
||||
|
||||
<com.github.florent37.shapeofview.shapes.DiagonalView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="200dp"
|
||||
android:alpha=".8"
|
||||
android:background="@drawable/header_grad1"
|
||||
app:diagonal_angle="10"
|
||||
app:diagonal_direction="right"
|
||||
app:diagonal_position="bottom" />
|
||||
app:shape_diagonal_angle="10"
|
||||
app:shape_diagonal_direction="right"
|
||||
app:shape_diagonal_position="bottom">
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@drawable/header_grad1" />
|
||||
</com.github.florent37.shapeofview.shapes.DiagonalView>
|
||||
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/topView"
|
||||
@@ -72,17 +84,16 @@
|
||||
android:layout_marginTop="10dp"
|
||||
android:paddingBottom="10dp">
|
||||
|
||||
<com.github.florent37.shapeofview.shapes.RoundRectView
|
||||
<android.support.v7.widget.CardView
|
||||
android:id="@+id/google_card"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="10dp"
|
||||
android:background="?android:attr/panelBackground"
|
||||
android:elevation="5dp"
|
||||
app:roundRect_bottomLeftRadius="10dp"
|
||||
app:roundRect_bottomRightRadius="10dp"
|
||||
app:roundRect_topLeftRadius="10dp"
|
||||
app:roundRect_topRightRadius="10dp">
|
||||
app:cardBackgroundColor="?android:attr/panelBackground"
|
||||
app:cardCornerRadius="10dp"
|
||||
app:cardElevation="2dp"
|
||||
app:cardPreventCornerOverlap="false"
|
||||
app:cardUseCompatPadding="true">
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
@@ -194,7 +205,7 @@
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
</com.github.florent37.shapeofview.shapes.RoundRectView>
|
||||
</android.support.v7.widget.CardView>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/or_txt"
|
||||
@@ -206,17 +217,16 @@
|
||||
android:text="@string/action_or"
|
||||
android:textSize="16sp" />
|
||||
|
||||
<com.github.florent37.shapeofview.shapes.RoundRectView
|
||||
<android.support.v7.widget.CardView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@+id/or_txt"
|
||||
android:layout_margin="10dp"
|
||||
android:background="?android:attr/panelBackground"
|
||||
android:elevation="5dp"
|
||||
app:roundRect_bottomLeftRadius="10dp"
|
||||
app:roundRect_bottomRightRadius="10dp"
|
||||
app:roundRect_topLeftRadius="10dp"
|
||||
app:roundRect_topRightRadius="10dp">
|
||||
app:cardBackgroundColor="?android:attr/panelBackground"
|
||||
app:cardCornerRadius="10dp"
|
||||
app:cardElevation="2dp"
|
||||
app:cardPreventCornerOverlap="false"
|
||||
app:cardUseCompatPadding="true">
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
@@ -275,7 +285,7 @@
|
||||
android:textSize="12sp" />
|
||||
</RelativeLayout>
|
||||
|
||||
</com.github.florent37.shapeofview.shapes.RoundRectView>
|
||||
</android.support.v7.widget.CardView>
|
||||
</RelativeLayout>
|
||||
|
||||
</android.support.v4.widget.NestedScrollView>
|
||||
|
||||
@@ -1,15 +1,16 @@
|
||||
<com.github.florent37.shapeofview.shapes.RoundRectView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:id="@+id/all_cat_container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="4dp"
|
||||
android:background="?android:attr/panelBackground"
|
||||
android:elevation="1.5dp"
|
||||
app:roundRect_bottomLeftRadius="10dp"
|
||||
app:roundRect_bottomRightRadius="10dp"
|
||||
app:roundRect_topLeftRadius="10dp"
|
||||
app:roundRect_topRightRadius="10dp">
|
||||
android:layout_marginBottom="2dp"
|
||||
android:layout_marginEnd="4dp"
|
||||
android:layout_marginStart="4dp"
|
||||
app:cardBackgroundColor="?android:attr/panelBackground"
|
||||
app:cardCornerRadius="10dp"
|
||||
app:cardElevation="1dp"
|
||||
app:cardPreventCornerOverlap="false"
|
||||
app:cardUseCompatPadding="true">
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
@@ -36,4 +37,4 @@
|
||||
android:textAlignment="viewStart"
|
||||
android:textSize="16sp" />
|
||||
</RelativeLayout>
|
||||
</com.github.florent37.shapeofview.shapes.RoundRectView>
|
||||
</android.support.v7.widget.CardView>
|
||||
@@ -16,19 +16,30 @@
|
||||
<com.github.florent37.shapeofview.shapes.DiagonalView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@drawable/header_grad2"
|
||||
app:diagonal_angle="5"
|
||||
app:diagonal_direction="left"
|
||||
app:diagonal_position="bottom" />
|
||||
app:shape_diagonal_angle="5"
|
||||
app:shape_diagonal_direction="left"
|
||||
app:shape_diagonal_position="bottom">
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@drawable/header_grad2" />
|
||||
</com.github.florent37.shapeofview.shapes.DiagonalView>
|
||||
|
||||
|
||||
<com.github.florent37.shapeofview.shapes.DiagonalView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:alpha=".8"
|
||||
android:background="@drawable/header_grad1"
|
||||
app:diagonal_angle="10"
|
||||
app:diagonal_direction="right"
|
||||
app:diagonal_position="bottom" />
|
||||
app:shape_diagonal_angle="10"
|
||||
app:shape_diagonal_direction="right"
|
||||
app:shape_diagonal_position="bottom">
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@drawable/header_grad1" />
|
||||
</com.github.florent37.shapeofview.shapes.DiagonalView>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/topView"
|
||||
@@ -74,25 +85,22 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="2"
|
||||
android:paddingTop="10dp"
|
||||
android:paddingBottom="10dp">
|
||||
android:paddingBottom="10dp"
|
||||
android:paddingTop="10dp">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
|
||||
<com.github.florent37.shapeofview.shapes.RoundRectView
|
||||
<android.support.v7.widget.CardView
|
||||
android:id="@+id/dummyCard"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="10dp"
|
||||
android:background="?android:attr/panelBackground"
|
||||
android:elevation="5dp"
|
||||
app:roundRect_bottomLeftRadius="10dp"
|
||||
app:roundRect_bottomRightRadius="10dp"
|
||||
app:roundRect_topLeftRadius="10dp"
|
||||
app:roundRect_topRightRadius="10dp">
|
||||
app:cardBackgroundColor="?android:attr/panelBackground"
|
||||
app:cardCornerRadius="10dp">
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
@@ -216,20 +224,17 @@
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
</com.github.florent37.shapeofview.shapes.RoundRectView>
|
||||
</android.support.v7.widget.CardView>
|
||||
|
||||
<com.github.florent37.shapeofview.shapes.RoundRectView
|
||||
<android.support.v7.widget.CardView
|
||||
android:id="@+id/emptyCard"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="10dp"
|
||||
android:background="?android:attr/panelBackground"
|
||||
android:elevation="5dp"
|
||||
android:visibility="gone"
|
||||
app:roundRect_bottomLeftRadius="10dp"
|
||||
app:roundRect_bottomRightRadius="10dp"
|
||||
app:roundRect_topLeftRadius="10dp"
|
||||
app:roundRect_topRightRadius="10dp">
|
||||
app:cardBackgroundColor="?android:attr/panelBackground"
|
||||
app:cardCornerRadius="10dp">
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
@@ -243,8 +248,8 @@
|
||||
android:layout_height="64dp"
|
||||
android:layout_centerInParent="true"
|
||||
android:background="?android:selectableItemBackgroundBorderless"
|
||||
app:circle_borderColor="@color/colorRed"
|
||||
app:circle_borderWidth="1dp">
|
||||
app:shape_circle_borderColor="@color/colorRed"
|
||||
app:shape_circle_borderWidth="1dp">
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/add_secondary"
|
||||
@@ -252,8 +257,8 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:background="@android:color/transparent"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:clickable="false"
|
||||
android:focusable="false"
|
||||
app:srcCompat="@drawable/ic_add" />
|
||||
</com.github.florent37.shapeofview.shapes.CircleView>
|
||||
|
||||
@@ -268,21 +273,17 @@
|
||||
android:textSize="16sp" />
|
||||
|
||||
</RelativeLayout>
|
||||
</android.support.v7.widget.CardView>
|
||||
|
||||
</com.github.florent37.shapeofview.shapes.RoundRectView>
|
||||
|
||||
<com.github.florent37.shapeofview.shapes.RoundRectView
|
||||
<android.support.v7.widget.CardView
|
||||
android:id="@+id/googleCard"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="10dp"
|
||||
android:background="?android:attr/panelBackground"
|
||||
android:elevation="5dp"
|
||||
android:visibility="gone"
|
||||
app:roundRect_bottomLeftRadius="10dp"
|
||||
app:roundRect_bottomRightRadius="10dp"
|
||||
app:roundRect_topLeftRadius="10dp"
|
||||
app:roundRect_topRightRadius="10dp">
|
||||
app:cardBackgroundColor="?android:attr/panelBackground"
|
||||
app:cardCornerRadius="10dp">
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
@@ -404,8 +405,7 @@
|
||||
</RelativeLayout>
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
</com.github.florent37.shapeofview.shapes.RoundRectView>
|
||||
</android.support.v7.widget.CardView>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
@@ -13,11 +13,12 @@
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="32dp"
|
||||
android:layout_weight="1"
|
||||
android:fontFamily="@font/google_sans"
|
||||
android:background="@drawable/button_negative"
|
||||
android:padding="5dp"
|
||||
android:fontFamily="@font/google_sans"
|
||||
android:maxLines="1"
|
||||
android:padding="5dp"
|
||||
android:text="@string/details_uninstall"
|
||||
android:textAllCaps="false"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="12sp"
|
||||
android:visibility="gone" />
|
||||
@@ -27,14 +28,15 @@
|
||||
style="@style/Widget.AppCompat.Button.Borderless"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="32dp"
|
||||
android:fontFamily="@font/google_sans"
|
||||
android:layout_weight="1"
|
||||
android:background="@drawable/button_positive"
|
||||
android:padding="5dp"
|
||||
android:maxLines="1"
|
||||
android:text="@string/details_playstore"
|
||||
android:textColor="@color/white"
|
||||
android:backgroundTint="@color/colorGreen"
|
||||
android:fontFamily="@font/google_sans"
|
||||
android:maxLines="1"
|
||||
android:padding="5dp"
|
||||
android:text="@string/details_playstore"
|
||||
android:textAllCaps="false"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="12sp"
|
||||
android:visibility="gone" />
|
||||
|
||||
@@ -43,12 +45,13 @@
|
||||
style="@style/Widget.AppCompat.Button.Borderless"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="32dp"
|
||||
android:fontFamily="@font/google_sans"
|
||||
android:layout_weight="1"
|
||||
android:background="@drawable/button_positive"
|
||||
android:padding="5dp"
|
||||
android:fontFamily="@font/google_sans"
|
||||
android:maxLines="1"
|
||||
android:padding="5dp"
|
||||
android:text="@string/details_download"
|
||||
android:textAllCaps="false"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="12sp"
|
||||
android:visibility="gone" />
|
||||
@@ -58,12 +61,13 @@
|
||||
style="@style/Widget.AppCompat.Button.Borderless"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="32dp"
|
||||
android:fontFamily="@font/google_sans"
|
||||
android:layout_weight="1"
|
||||
android:background="@drawable/button_negative"
|
||||
android:padding="5dp"
|
||||
android:fontFamily="@font/google_sans"
|
||||
android:maxLines="1"
|
||||
android:padding="5dp"
|
||||
android:text="@string/details_cancel"
|
||||
android:textAllCaps="false"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="12sp"
|
||||
android:visibility="gone" />
|
||||
@@ -73,11 +77,11 @@
|
||||
style="@style/Widget.AppCompat.Button.Borderless"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="32dp"
|
||||
android:fontFamily="@font/google_sans"
|
||||
android:layout_weight="1"
|
||||
android:background="@drawable/button_positive"
|
||||
android:padding="5dp"
|
||||
android:fontFamily="@font/google_sans"
|
||||
android:maxLines="1"
|
||||
android:padding="5dp"
|
||||
android:text="@string/details_install"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="12sp"
|
||||
@@ -88,12 +92,13 @@
|
||||
style="@style/Widget.AppCompat.Button.Borderless"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="32dp"
|
||||
android:fontFamily="@font/google_sans"
|
||||
android:layout_weight="1"
|
||||
android:background="@drawable/button_positive"
|
||||
android:padding="5dp"
|
||||
android:fontFamily="@font/google_sans"
|
||||
android:maxLines="1"
|
||||
android:padding="5dp"
|
||||
android:text="@string/details_run"
|
||||
android:textAllCaps="false"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="12sp"
|
||||
android:visibility="gone" />
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="15dp"
|
||||
android:layout_marginTop="15dp"
|
||||
android:layout_marginEnd="15dp"
|
||||
android:fontFamily="@font/google_sans"
|
||||
android:gravity="start"
|
||||
android:text="@string/top_categories"
|
||||
@@ -23,7 +24,6 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/top_cat"
|
||||
android:layout_margin="10dp"
|
||||
android:nestedScrollingEnabled="false"
|
||||
android:orientation="horizontal"
|
||||
app:layoutManager="android.support.v7.widget.LinearLayoutManager" />
|
||||
@@ -35,6 +35,7 @@
|
||||
android:layout_below="@id/top_cat_view"
|
||||
android:layout_marginStart="15dp"
|
||||
android:layout_marginTop="15dp"
|
||||
android:layout_marginEnd="15dp"
|
||||
android:fontFamily="@font/google_sans"
|
||||
android:gravity="start"
|
||||
android:text="@string/all_categories"
|
||||
@@ -47,10 +48,10 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/all_cat"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:layout_marginStart="10dp"
|
||||
android:layout_marginBottom="8dp"
|
||||
android:layout_marginTop="10dp">
|
||||
android:layout_marginStart="6dp"
|
||||
android:layout_marginTop="8dp"
|
||||
android:layout_marginEnd="6dp"
|
||||
android:layout_marginBottom="8dp">
|
||||
|
||||
<android.support.v7.widget.RecyclerView
|
||||
android:id="@+id/all_cat_view"
|
||||
|
||||
@@ -1,100 +1,113 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/app_detail"
|
||||
<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="5dp"
|
||||
android:background="@drawable/outline_bg"
|
||||
android:orientation="vertical"
|
||||
android:padding="5dp"
|
||||
android:visibility="gone"
|
||||
android:scrollbars="none">
|
||||
android:layout_marginEnd="5dp"
|
||||
android:layout_marginStart="5dp"
|
||||
android:layout_marginTop="5dp"
|
||||
app:cardBackgroundColor="?android:attr/panelBackground"
|
||||
app:cardCornerRadius="10dp"
|
||||
app:cardElevation="1dp"
|
||||
app:cardPreventCornerOverlap="false"
|
||||
app:cardUseCompatPadding="true">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:gravity="center"
|
||||
android:orientation="horizontal"
|
||||
android:paddingEnd="10dp"
|
||||
android:paddingStart="10dp">
|
||||
<HorizontalScrollView
|
||||
android:id="@+id/app_detail"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:padding="5dp"
|
||||
android:scrollbars="none"
|
||||
android:visibility="gone">
|
||||
|
||||
<ImageView
|
||||
android:layout_width="18dp"
|
||||
android:layout_height="18dp"
|
||||
android:alpha="0.7"
|
||||
android:src="@drawable/ic_star" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/rating"
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
android:fontFamily="@font/google_sans_bold"
|
||||
android:singleLine="true" />
|
||||
android:layout_height="match_parent"
|
||||
android:gravity="center"
|
||||
android:orientation="horizontal"
|
||||
android:paddingEnd="10dp"
|
||||
android:paddingStart="10dp">
|
||||
|
||||
<View
|
||||
android:layout_width="1dp"
|
||||
android:layout_height="28dp"
|
||||
android:layout_margin="8dp"
|
||||
android:background="@color/gray" />
|
||||
<ImageView
|
||||
android:layout_width="18dp"
|
||||
android:layout_height="18dp"
|
||||
android:alpha="0.7"
|
||||
android:src="@drawable/ic_star" />
|
||||
|
||||
<ImageView
|
||||
android:layout_width="18dp"
|
||||
android:layout_height="18dp"
|
||||
android:alpha="0.7"
|
||||
android:src="@drawable/ic_download" />
|
||||
<TextView
|
||||
android:id="@+id/rating"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
android:fontFamily="@font/google_sans_bold"
|
||||
android:singleLine="true" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/installs"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
android:fontFamily="@font/google_sans_bold"
|
||||
android:gravity="clip_horizontal"
|
||||
android:singleLine="true" />
|
||||
<View
|
||||
android:layout_width="1dp"
|
||||
android:layout_height="28dp"
|
||||
android:layout_margin="8dp"
|
||||
android:background="@color/gray" />
|
||||
|
||||
<View
|
||||
android:layout_width="1dp"
|
||||
android:layout_height="28dp"
|
||||
android:layout_margin="8dp"
|
||||
android:background="@color/gray" />
|
||||
<ImageView
|
||||
android:layout_width="18dp"
|
||||
android:layout_height="18dp"
|
||||
android:alpha="0.7"
|
||||
android:src="@drawable/ic_download" />
|
||||
|
||||
<ImageView
|
||||
android:layout_width="18dp"
|
||||
android:layout_height="18dp"
|
||||
android:padding="2dp"
|
||||
android:alpha="0.7"
|
||||
android:src="@drawable/ic_size" />
|
||||
<TextView
|
||||
android:id="@+id/installs"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
android:fontFamily="@font/google_sans_bold"
|
||||
android:gravity="clip_horizontal"
|
||||
android:singleLine="true" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/size"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
android:fontFamily="@font/google_sans_bold"
|
||||
android:singleLine="true" />
|
||||
<View
|
||||
android:layout_width="1dp"
|
||||
android:layout_height="28dp"
|
||||
android:layout_margin="8dp"
|
||||
android:background="@color/gray" />
|
||||
|
||||
<View
|
||||
android:layout_width="1dp"
|
||||
android:layout_height="28dp"
|
||||
android:layout_margin="8dp"
|
||||
android:background="@color/gray" />
|
||||
<ImageView
|
||||
android:layout_width="18dp"
|
||||
android:layout_height="18dp"
|
||||
android:alpha="0.7"
|
||||
android:padding="2dp"
|
||||
android:src="@drawable/ic_size" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/categoryImage"
|
||||
android:layout_width="28dp"
|
||||
android:layout_height="28dp"
|
||||
android:alpha="0.7"
|
||||
android:tint="?android:attr/colorForeground"
|
||||
android:src="@drawable/ic_categories" />
|
||||
<TextView
|
||||
android:id="@+id/size"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
android:fontFamily="@font/google_sans_bold"
|
||||
android:singleLine="true" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/category"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="6dp"
|
||||
android:fontFamily="@font/google_sans_bold"
|
||||
android:singleLine="true" />
|
||||
</LinearLayout>
|
||||
<View
|
||||
android:layout_width="1dp"
|
||||
android:layout_height="28dp"
|
||||
android:layout_margin="8dp"
|
||||
android:background="@color/gray" />
|
||||
|
||||
</HorizontalScrollView>
|
||||
<ImageView
|
||||
android:id="@+id/categoryImage"
|
||||
android:layout_width="28dp"
|
||||
android:layout_height="28dp"
|
||||
android:alpha="0.7"
|
||||
android:src="@drawable/ic_categories"
|
||||
android:tint="?android:attr/colorForeground" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/category"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="6dp"
|
||||
android:fontFamily="@font/google_sans_bold"
|
||||
android:singleLine="true" />
|
||||
</LinearLayout>
|
||||
|
||||
</HorizontalScrollView>
|
||||
|
||||
</android.support.v7.widget.CardView>
|
||||
@@ -4,6 +4,97 @@
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical">
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/ohhSnap"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:visibility="gone">
|
||||
|
||||
<ImageView
|
||||
android:layout_width="36dp"
|
||||
android:layout_height="36dp"
|
||||
android:layout_above="@+id/ohhSnap_txt"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:alpha=".75"
|
||||
android:src="@drawable/ic_err" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/ohhSnap_txt"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_marginTop="10dp"
|
||||
android:fontFamily="@font/google_sans"
|
||||
android:text="@string/ohh_snap_text"
|
||||
android:textSize="16sp" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/ohhSnap_retry"
|
||||
style="@style/Widget.AppCompat.Button.Borderless"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="32dp"
|
||||
android:layout_below="@+id/ohhSnap_txt"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_marginTop="15dp"
|
||||
android:background="@drawable/button_positive"
|
||||
android:fontFamily="@font/google_sans"
|
||||
android:maxLines="1"
|
||||
android:padding="5dp"
|
||||
android:text="@string/ohh_snap_retry"
|
||||
android:textAllCaps="false"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="12sp" />
|
||||
</RelativeLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/unicorn"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:visibility="gone">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/no_app_available"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_marginTop="10dp"
|
||||
android:fontFamily="@font/google_sans_bold"
|
||||
android:text="@string/list_empty_search"
|
||||
android:textSize="18sp" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/recheck_query"
|
||||
style="@style/Widget.AppCompat.Button.Borderless"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="32dp"
|
||||
android:layout_below="@+id/no_app_available"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_marginTop="15dp"
|
||||
android:background="@drawable/button_positive"
|
||||
android:fontFamily="@font/google_sans"
|
||||
android:maxLines="1"
|
||||
android:padding="5dp"
|
||||
android:text="@string/list_update_recheck"
|
||||
android:textAllCaps="false"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="12sp" />
|
||||
</RelativeLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/progress"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<ProgressBar
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerInParent="true"
|
||||
android:scaleX=".8"
|
||||
android:scaleY=".8" />
|
||||
</RelativeLayout>
|
||||
|
||||
<android.support.v7.widget.RecyclerView
|
||||
android:id="@+id/endless_apps_list"
|
||||
android:layout_width="match_parent"
|
||||
@@ -11,9 +102,6 @@
|
||||
android:clipToPadding="false"
|
||||
android:nestedScrollingEnabled="false"
|
||||
android:paddingBottom="76dp"
|
||||
android:paddingEnd="5dp"
|
||||
android:paddingStart="5dp"
|
||||
android:paddingTop="5dp"
|
||||
android:scrollbarStyle="outsideOverlay"
|
||||
android:scrollbars="vertical" />
|
||||
|
||||
|
||||
@@ -1,78 +1,92 @@
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/exodus_card"
|
||||
<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="5dp"
|
||||
android:animateLayoutChanges="true"
|
||||
android:background="@drawable/outline_bg"
|
||||
android:orientation="vertical"
|
||||
android:visibility="gone">
|
||||
android:layout_marginEnd="5dp"
|
||||
android:layout_marginStart="5dp"
|
||||
android:layout_marginTop="5dp"
|
||||
app:cardBackgroundColor="?android:attr/panelBackground"
|
||||
app:cardCornerRadius="10dp"
|
||||
app:cardElevation="1dp"
|
||||
app:cardPreventCornerOverlap="false"
|
||||
app:cardUseCompatPadding="true">
|
||||
|
||||
<RelativeLayout
|
||||
<LinearLayout
|
||||
android:id="@+id/exodus_card"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/privacy_ico"
|
||||
android:layout_width="48dp"
|
||||
android:layout_height="48dp"
|
||||
android:layout_alignParentStart="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_margin="10dp"
|
||||
android:src="@drawable/ic_security" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_toEndOf="@id/privacy_ico"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/exodus_title"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:fontFamily="@font/google_sans_bold"
|
||||
android:text="@string/exodus_title"
|
||||
android:textAlignment="viewStart"
|
||||
android:textSize="18sp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/exodus_description"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:textAlignment="viewStart"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/exodus_status"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:textAlignment="viewStart"
|
||||
android:textSize="12sp"
|
||||
android:visibility="gone" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/viewMore"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="5dp"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:text="@string/exodus_viewMore"
|
||||
android:textAlignment="viewStart"
|
||||
android:textSize="12sp" />
|
||||
</LinearLayout>
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="end"
|
||||
android:layout_margin="10dp"
|
||||
android:fontFamily="@font/google_sans_bold"
|
||||
android:gravity="end"
|
||||
android:text="@string/exodus_powered"
|
||||
android:textSize="12sp" />
|
||||
</LinearLayout>
|
||||
android:animateLayoutChanges="true"
|
||||
android:orientation="vertical"
|
||||
android:visibility="gone">
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/privacy_ico"
|
||||
android:layout_width="48dp"
|
||||
android:layout_height="48dp"
|
||||
android:layout_alignParentStart="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_margin="10dp"
|
||||
android:src="@drawable/ic_security" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_toEndOf="@id/privacy_ico"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/exodus_title"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:fontFamily="@font/google_sans_bold"
|
||||
android:text="@string/exodus_title"
|
||||
android:textAlignment="viewStart"
|
||||
android:textSize="18sp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/exodus_description"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:textAlignment="viewStart"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/exodus_status"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:textAlignment="viewStart"
|
||||
android:textSize="12sp"
|
||||
android:visibility="gone" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/viewMore"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="5dp"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:text="@string/exodus_viewMore"
|
||||
android:textAlignment="viewStart"
|
||||
android:textSize="12sp" />
|
||||
</LinearLayout>
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="end"
|
||||
android:layout_margin="10dp"
|
||||
android:fontFamily="@font/google_sans_bold"
|
||||
android:gravity="end"
|
||||
android:text="@string/exodus_powered"
|
||||
android:textSize="12sp" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</android.support.v7.widget.CardView>
|
||||
@@ -1,107 +1,119 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/general_card"
|
||||
<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:id="@+id/updatable_header"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="5dp"
|
||||
android:background="@drawable/outline_bg"
|
||||
android:orientation="vertical"
|
||||
android:padding="5dp"
|
||||
android:scrollbars="none"
|
||||
android:visibility="gone">
|
||||
android:layout_marginEnd="5dp"
|
||||
android:layout_marginStart="5dp"
|
||||
android:layout_marginTop="5dp"
|
||||
app:cardBackgroundColor="?android:attr/panelBackground"
|
||||
app:cardCornerRadius="10dp"
|
||||
app:cardElevation="1dp"
|
||||
app:cardPreventCornerOverlap="false"
|
||||
app:cardUseCompatPadding="true">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:gravity="center"
|
||||
android:orientation="horizontal"
|
||||
android:paddingEnd="10dp"
|
||||
android:paddingStart="10dp">
|
||||
<HorizontalScrollView
|
||||
android:id="@+id/general_card"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:padding="5dp"
|
||||
android:scrollbars="none"
|
||||
android:visibility="gone">
|
||||
|
||||
<ImageView
|
||||
android:layout_width="18dp"
|
||||
android:layout_height="18dp"
|
||||
android:alpha="0.7"
|
||||
android:src="@drawable/ic_update" />
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:gravity="center"
|
||||
android:orientation="horizontal"
|
||||
android:paddingEnd="10dp"
|
||||
android:paddingStart="10dp">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/updated"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
android:fontFamily="@font/google_sans_bold" />
|
||||
<ImageView
|
||||
android:layout_width="18dp"
|
||||
android:layout_height="18dp"
|
||||
android:alpha="0.7"
|
||||
android:src="@drawable/ic_update" />
|
||||
|
||||
<View
|
||||
android:layout_width="1dp"
|
||||
android:layout_height="28dp"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_margin="8dp"
|
||||
android:background="@color/gray" />
|
||||
<TextView
|
||||
android:id="@+id/updated"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
android:fontFamily="@font/google_sans_bold" />
|
||||
|
||||
<ImageView
|
||||
android:layout_width="18dp"
|
||||
android:layout_height="18dp"
|
||||
android:alpha="0.7"
|
||||
android:src="@drawable/ic_google_play" />
|
||||
<View
|
||||
android:layout_width="1dp"
|
||||
android:layout_height="28dp"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_margin="8dp"
|
||||
android:background="@color/gray" />
|
||||
|
||||
<ImageView
|
||||
android:layout_width="18dp"
|
||||
android:layout_height="18dp"
|
||||
android:alpha="0.7"
|
||||
android:src="@drawable/ic_google_play" />
|
||||
|
||||
|
||||
<TextView
|
||||
android:id="@+id/google_dependencies"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
android:fontFamily="@font/google_sans_bold" />
|
||||
<TextView
|
||||
android:id="@+id/google_dependencies"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
android:fontFamily="@font/google_sans_bold" />
|
||||
|
||||
<View
|
||||
android:layout_width="1dp"
|
||||
android:layout_height="28dp"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_margin="8dp"
|
||||
android:background="@color/gray" />
|
||||
<View
|
||||
android:layout_width="1dp"
|
||||
android:layout_height="28dp"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_margin="8dp"
|
||||
android:background="@color/gray" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/app_rating"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
android:fontFamily="@font/google_sans_bold"
|
||||
android:visibility="gone" />
|
||||
<TextView
|
||||
android:id="@+id/app_rating"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
android:fontFamily="@font/google_sans_bold"
|
||||
android:visibility="gone" />
|
||||
|
||||
<ImageView
|
||||
android:layout_width="18dp"
|
||||
android:layout_height="18dp"
|
||||
android:alpha="0.7"
|
||||
android:src="@drawable/ic_tag" />
|
||||
<ImageView
|
||||
android:layout_width="18dp"
|
||||
android:layout_height="18dp"
|
||||
android:alpha="0.7"
|
||||
android:src="@drawable/ic_tag" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/price"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
android:fontFamily="@font/google_sans_bold" />
|
||||
<TextView
|
||||
android:id="@+id/price"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
android:fontFamily="@font/google_sans_bold" />
|
||||
|
||||
<View
|
||||
android:layout_width="1dp"
|
||||
android:layout_height="28dp"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_margin="8dp"
|
||||
android:background="@color/gray" />
|
||||
<View
|
||||
android:layout_width="1dp"
|
||||
android:layout_height="28dp"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_margin="8dp"
|
||||
android:background="@color/gray" />
|
||||
|
||||
<ImageView
|
||||
android:layout_width="18dp"
|
||||
android:layout_height="18dp"
|
||||
android:alpha="0.7"
|
||||
android:src="@drawable/ic_alert" />
|
||||
<ImageView
|
||||
android:layout_width="18dp"
|
||||
android:layout_height="18dp"
|
||||
android:alpha="0.7"
|
||||
android:src="@drawable/ic_alert" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/contains_ads"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
android:fontFamily="@font/google_sans_bold" />
|
||||
<TextView
|
||||
android:id="@+id/contains_ads"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
android:fontFamily="@font/google_sans_bold" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</HorizontalScrollView>
|
||||
</LinearLayout>
|
||||
|
||||
</HorizontalScrollView>
|
||||
|
||||
</android.support.v7.widget.CardView>
|
||||
@@ -8,8 +8,8 @@
|
||||
android:id="@+id/icon"
|
||||
android:layout_width="@dimen/icon_size"
|
||||
android:layout_height="@dimen/icon_size"
|
||||
android:layout_marginEnd="6dp"
|
||||
android:layout_marginStart="12dp"
|
||||
android:layout_marginEnd="6dp"
|
||||
android:contentDescription="@string/content_description_app_icon"
|
||||
android:src="@android:color/transparent" />
|
||||
|
||||
@@ -35,8 +35,8 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:fontFamily="@font/google_sans"
|
||||
android:maxLines="1"
|
||||
android:textColor="?android:attr/textColorSecondary"
|
||||
android:textAlignment="viewStart"
|
||||
android:textColor="?android:attr/textColorSecondary"
|
||||
android:textSize="12sp" />
|
||||
|
||||
<TextView
|
||||
|
||||
@@ -6,24 +6,23 @@
|
||||
android:background="?android:attr/colorBackground"
|
||||
android:orientation="vertical">
|
||||
|
||||
<com.github.florent37.shapeofview.shapes.RoundRectView
|
||||
<android.support.v7.widget.CardView
|
||||
android:id="@+id/installed_header"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:layout_marginStart="10dp"
|
||||
android:layout_marginEnd="6dp"
|
||||
android:layout_marginStart="6dp"
|
||||
android:layout_marginTop="5dp"
|
||||
android:background="?android:attr/panelBackground"
|
||||
android:elevation="2dp"
|
||||
app:roundRect_bottomLeftRadius="10dp"
|
||||
app:roundRect_bottomRightRadius="10dp"
|
||||
app:roundRect_topLeftRadius="10dp"
|
||||
app:roundRect_topRightRadius="10dp">
|
||||
app:cardBackgroundColor="?android:attr/panelBackground"
|
||||
app:cardCornerRadius="10dp"
|
||||
app:cardElevation="1dp"
|
||||
app:cardPreventCornerOverlap="false"
|
||||
app:cardUseCompatPadding="true">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="?android:selectableItemBackgroundBorderless"
|
||||
android:background="?android:attr/panelBackground"
|
||||
android:orientation="vertical"
|
||||
android:padding="5dp"
|
||||
app:layout_scrollFlags="scroll|enterAlways|snap">
|
||||
@@ -63,33 +62,84 @@
|
||||
android:textAlignment="viewStart"
|
||||
android:textColor="?android:attr/textColorSecondary" />
|
||||
</LinearLayout>
|
||||
</com.github.florent37.shapeofview.shapes.RoundRectView>
|
||||
|
||||
<android.support.v4.widget.SwipeRefreshLayout
|
||||
android:id="@+id/swipe_refresh_layout"
|
||||
</android.support.v7.widget.CardView>
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/installed_header"
|
||||
android:layout_marginBottom="8dp"
|
||||
android:background="?android:attr/colorBackground"
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior">
|
||||
android:animateLayoutChanges="true"
|
||||
android:orientation="vertical">
|
||||
|
||||
<android.support.v7.widget.RecyclerView
|
||||
android:id="@+id/installed_apps_list"
|
||||
<RelativeLayout
|
||||
android:id="@+id/ohhSnap"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:paddingEnd="6dp"
|
||||
android:paddingStart="6dp"
|
||||
android:paddingTop="6dp"
|
||||
android:scrollbars="vertical" />
|
||||
android:visibility="gone">
|
||||
|
||||
<TextView
|
||||
android:id="@android:id/empty"
|
||||
<ImageView
|
||||
android:layout_width="36dp"
|
||||
android:layout_height="36dp"
|
||||
android:layout_above="@+id/ohhSnap_txt"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:alpha=".75"
|
||||
android:src="@drawable/ic_err" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/ohhSnap_txt"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_marginTop="10dp"
|
||||
android:fontFamily="@font/google_sans"
|
||||
android:text="@string/ohh_snap_text"
|
||||
android:textSize="16sp" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/ohhSnap_retry"
|
||||
style="@style/Widget.AppCompat.Button.Borderless"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="32dp"
|
||||
android:layout_below="@+id/ohhSnap_txt"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_marginTop="15dp"
|
||||
android:background="@drawable/button_positive"
|
||||
android:fontFamily="@font/google_sans"
|
||||
android:maxLines="1"
|
||||
android:padding="5dp"
|
||||
android:text="@string/ohh_snap_retry"
|
||||
android:textAllCaps="false"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="12sp" />
|
||||
</RelativeLayout>
|
||||
|
||||
<android.support.v4.widget.SwipeRefreshLayout
|
||||
android:id="@+id/swipe_refresh_layout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:textAppearance="?android:attr/textAppearanceLarge" />
|
||||
android:layout_height="match_parent"
|
||||
android:layout_below="@id/ohhSnap"
|
||||
android:background="?android:attr/colorBackground"
|
||||
android:clipToPadding="false"
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior">
|
||||
|
||||
</android.support.v4.widget.SwipeRefreshLayout>
|
||||
<android.support.v7.widget.RecyclerView
|
||||
android:id="@+id/installed_apps_list"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:scrollbars="vertical" />
|
||||
|
||||
<TextView
|
||||
android:id="@android:id/empty"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:textAppearance="?android:attr/textAppearanceLarge" />
|
||||
|
||||
</android.support.v4.widget.SwipeRefreshLayout>
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
</RelativeLayout>
|
||||
@@ -20,7 +20,7 @@
|
||||
android:padding="5dp"
|
||||
android:text="@string/details_permissions"
|
||||
android:textAllCaps="true"
|
||||
android:textColor="?android:attr/colorAccent"
|
||||
android:textColor="?android:attr/textColorPrimary"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<LinearLayout
|
||||
|
||||
@@ -207,7 +207,4 @@
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
|
||||
</LinearLayout>
|
||||
@@ -7,20 +7,19 @@
|
||||
android:background="?android:attr/colorBackground"
|
||||
android:orientation="vertical">
|
||||
|
||||
<com.github.florent37.shapeofview.shapes.RoundRectView
|
||||
<android.support.v7.widget.CardView
|
||||
android:id="@+id/autoUpdatesCard"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:layout_marginStart="10dp"
|
||||
android:layout_marginEnd="6dp"
|
||||
android:layout_marginStart="6dp"
|
||||
android:layout_marginTop="5dp"
|
||||
android:background="?android:attr/panelBackground"
|
||||
android:elevation="2dp"
|
||||
android:visibility="gone"
|
||||
app:roundRect_bottomLeftRadius="10dp"
|
||||
app:roundRect_bottomRightRadius="10dp"
|
||||
app:roundRect_topLeftRadius="10dp"
|
||||
app:roundRect_topRightRadius="10dp">
|
||||
app:cardBackgroundColor="?android:attr/panelBackground"
|
||||
app:cardCornerRadius="10dp"
|
||||
app:cardElevation="1dp"
|
||||
app:cardPreventCornerOverlap="false"
|
||||
app:cardUseCompatPadding="true">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
@@ -94,65 +93,62 @@
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
</com.github.florent37.shapeofview.shapes.RoundRectView>
|
||||
|
||||
<com.github.florent37.shapeofview.shapes.RoundRectView
|
||||
</android.support.v7.widget.CardView>
|
||||
|
||||
<android.support.v7.widget.CardView
|
||||
android:id="@+id/updatable_header"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/autoUpdatesCard"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:layout_marginStart="10dp"
|
||||
android:layout_marginTop="5dp"
|
||||
android:background="?android:attr/panelBackground"
|
||||
android:elevation="2dp"
|
||||
app:roundRect_bottomLeftRadius="10dp"
|
||||
app:roundRect_bottomRightRadius="10dp"
|
||||
app:roundRect_topLeftRadius="10dp"
|
||||
app:roundRect_topRightRadius="10dp">
|
||||
android:layout_marginEnd="6dp"
|
||||
android:layout_marginStart="6dp"
|
||||
app:cardBackgroundColor="?android:attr/panelBackground"
|
||||
app:cardCornerRadius="10dp"
|
||||
app:cardElevation="1dp"
|
||||
app:cardPreventCornerOverlap="false"
|
||||
app:cardUseCompatPadding="true">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:animateLayoutChanges="true"
|
||||
android:baselineAligned="false"
|
||||
android:orientation="vertical"
|
||||
android:padding="5dp"
|
||||
android:weightSum="3">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="0dp"
|
||||
<TextView
|
||||
android:id="@+id/updates_txt"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="2"
|
||||
android:orientation="vertical">
|
||||
android:layout_marginEnd="5dp"
|
||||
android:layout_marginStart="5dp"
|
||||
android:layout_marginTop="5dp"
|
||||
android:ellipsize="start"
|
||||
android:fontFamily="@font/google_sans_bold"
|
||||
android:singleLine="true"
|
||||
android:text="@string/list_update_chk_txt"
|
||||
android:textColor="?android:attr/textColorPrimary"
|
||||
android:textSize="18sp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/updates_txt"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="5dp"
|
||||
android:layout_marginStart="5dp"
|
||||
android:layout_marginTop="5dp"
|
||||
android:fontFamily="@font/google_sans_bold"
|
||||
android:text="@string/list_update_chk_txt"
|
||||
android:textColor="?android:attr/textColorPrimary"
|
||||
android:textSize="18sp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/updates_setting"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="5dp"
|
||||
android:fontFamily="@font/google_sans"
|
||||
android:textSize="14sp" />
|
||||
</LinearLayout>
|
||||
<TextView
|
||||
android:id="@+id/updates_setting"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="5dp"
|
||||
android:ellipsize="end"
|
||||
android:fontFamily="@font/google_sans"
|
||||
android:singleLine="true"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/update_action"
|
||||
android:layout_width="0dp"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_weight="1"
|
||||
android:gravity="end">
|
||||
android:gravity="end"
|
||||
android:paddingBottom="2dp">
|
||||
|
||||
<Button
|
||||
android:id="@+id/update_all"
|
||||
@@ -165,6 +161,7 @@
|
||||
android:paddingEnd="12dp"
|
||||
android:paddingStart="12dp"
|
||||
android:text="@string/list_update_all"
|
||||
android:textAllCaps="false"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="12sp"
|
||||
android:visibility="gone" />
|
||||
@@ -180,6 +177,7 @@
|
||||
android:paddingEnd="12dp"
|
||||
android:paddingStart="12dp"
|
||||
android:text="@string/details_cancel"
|
||||
android:textAllCaps="false"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="12sp"
|
||||
android:visibility="gone" />
|
||||
@@ -188,7 +186,7 @@
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</com.github.florent37.shapeofview.shapes.RoundRectView>
|
||||
</android.support.v7.widget.CardView>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
@@ -198,6 +196,49 @@
|
||||
android:animateLayoutChanges="true"
|
||||
android:orientation="vertical">
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/ohhSnap"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:visibility="gone">
|
||||
|
||||
<ImageView
|
||||
android:layout_width="36dp"
|
||||
android:layout_height="36dp"
|
||||
android:layout_above="@+id/ohhSnap_txt"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:alpha=".75"
|
||||
android:src="@drawable/ic_err" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/ohhSnap_txt"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_marginTop="10dp"
|
||||
android:fontFamily="@font/google_sans"
|
||||
android:text="@string/ohh_snap_text"
|
||||
android:textSize="16sp" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/ohhSnap_retry"
|
||||
style="@style/Widget.AppCompat.Button.Borderless"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="32dp"
|
||||
android:layout_below="@+id/ohhSnap_txt"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_marginTop="15dp"
|
||||
android:background="@drawable/button_positive"
|
||||
android:fontFamily="@font/google_sans"
|
||||
android:maxLines="1"
|
||||
android:padding="5dp"
|
||||
android:text="@string/ohh_snap_retry"
|
||||
android:textAllCaps="false"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="12sp" />
|
||||
</RelativeLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/unicorn"
|
||||
android:layout_width="match_parent"
|
||||
@@ -222,12 +263,13 @@
|
||||
android:layout_height="32dp"
|
||||
android:layout_below="@+id/no_app_available"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_marginTop="25dp"
|
||||
android:layout_marginTop="15dp"
|
||||
android:background="@drawable/button_positive"
|
||||
android:fontFamily="@font/google_sans"
|
||||
android:maxLines="1"
|
||||
android:padding="5dp"
|
||||
android:text="@string/list_update_recheck"
|
||||
android:textAllCaps="false"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="12sp" />
|
||||
</RelativeLayout>
|
||||
@@ -235,15 +277,13 @@
|
||||
<android.support.v4.widget.SwipeRefreshLayout
|
||||
android:id="@+id/swipe_refresh_layout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
android:layout_height="match_parent"
|
||||
android:background="?android:attr/colorBackground">
|
||||
|
||||
<android.support.v7.widget.RecyclerView
|
||||
android:id="@+id/updatable_apps_list"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:paddingEnd="6dp"
|
||||
android:paddingStart="6dp"
|
||||
android:paddingTop="6dp"
|
||||
android:scrollbars="vertical" />
|
||||
</android.support.v4.widget.SwipeRefreshLayout>
|
||||
|
||||
|
||||
@@ -17,22 +17,22 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@+id/show_LessMore"
|
||||
android:layout_marginTop="5dp"
|
||||
android:background="?android:attr/panelBackground"
|
||||
android:elevation="@dimen/appbar_bar_elevation"
|
||||
app:roundRect_topLeftRadius="20dp"
|
||||
app:roundRect_topRightRadius="20dp">
|
||||
app:shape_roundRect_topLeftRadius="20dp"
|
||||
app:shape_roundRect_topRightRadius="20dp">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="?android:attr/panelBackground"
|
||||
android:orientation="vertical">
|
||||
|
||||
<android.support.v7.widget.RecyclerView
|
||||
android:id="@+id/nav_items_recycler"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="4dp"
|
||||
android:layout_marginStart="4dp"
|
||||
android:layout_marginEnd="4dp"
|
||||
android:gravity="fill_horizontal"
|
||||
android:orientation="horizontal"
|
||||
app:layoutManager="android.support.v7.widget.LinearLayoutManager" />
|
||||
@@ -40,9 +40,9 @@
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height=".8dp"
|
||||
android:layout_marginEnd="25dp"
|
||||
android:layout_marginStart="25dp"
|
||||
android:layout_marginTop="5dp"
|
||||
android:layout_marginEnd="25dp"
|
||||
android:background="@drawable/list_divider" />
|
||||
|
||||
<android.support.v7.widget.RecyclerView
|
||||
@@ -50,11 +50,11 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginBottom="10dp"
|
||||
android:layout_marginTop="15dp"
|
||||
android:layout_marginBottom="10dp"
|
||||
android:orientation="horizontal"
|
||||
android:paddingEnd="8dp"
|
||||
android:paddingStart="8dp"
|
||||
android:paddingEnd="8dp"
|
||||
app:layoutManager="android.support.v7.widget.LinearLayoutManager" />
|
||||
</LinearLayout>
|
||||
</com.github.florent37.shapeofview.shapes.RoundRectView>
|
||||
|
||||
@@ -7,43 +7,46 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:padding="25dp">
|
||||
android:padding="15dp">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/google_logo"
|
||||
android:layout_width="32dp"
|
||||
android:layout_height="@dimen/icon_size_med"
|
||||
android:layout_margin="5dp"
|
||||
android:src="@drawable/ic_google" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/disclaimer"
|
||||
android:id="@+id/google_title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignBottom="@+id/google_logo"
|
||||
android:layout_alignTop="@+id/google_logo"
|
||||
android:layout_marginStart="10dp"
|
||||
android:layout_marginStart="5dp"
|
||||
android:layout_toEndOf="@+id/google_logo"
|
||||
android:fontFamily="@font/google_sans_bold"
|
||||
android:gravity="center"
|
||||
android:text="@string/credentials_logo_txt"
|
||||
android:textAllCaps="false"
|
||||
android:textColor="?android:attr/textColorPrimary"
|
||||
android:textSize="24sp" />
|
||||
android:textSize="18sp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/textview"
|
||||
android:layout_width="match_parent"
|
||||
<ImageView
|
||||
android:id="@+id/button_exit"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@+id/google_logo"
|
||||
android:layout_marginTop="25dp"
|
||||
android:text="@string/credentials_message"
|
||||
android:visibility="gone" />
|
||||
android:layout_alignParentEnd="true"
|
||||
android:scaleX=".8"
|
||||
android:scaleY=".8"
|
||||
android:layout_margin="-5dp"
|
||||
android:src="@drawable/ic_cancel" />
|
||||
|
||||
|
||||
<android.support.v7.widget.AppCompatAutoCompleteTextView
|
||||
android:id="@+id/email"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="36dp"
|
||||
android:layout_below="@id/textview"
|
||||
android:layout_below="@id/google_title"
|
||||
android:layout_marginTop="10dp"
|
||||
android:autofillHints="emailAddress"
|
||||
android:background="@drawable/outline_bg"
|
||||
@@ -80,25 +83,16 @@
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_marginEnd="12dp"
|
||||
android:alpha=".6"
|
||||
android:src="@drawable/ic_visibility_on"
|
||||
android:tint="?android:attr/textColorPrimaryInverse" />
|
||||
android:tint="?android:attr/colorForeground" />
|
||||
</RelativeLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/password_layout_ext"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/password_layout"
|
||||
android:layout_margin="5dp"
|
||||
android:gravity="end"
|
||||
android:orientation="horizontal"
|
||||
android:weightSum="2" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/login_buttons"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@+id/password_layout_ext"
|
||||
android:layout_below="@+id/password_layout"
|
||||
android:layout_marginTop="10dp"
|
||||
android:gravity="end"
|
||||
android:orientation="horizontal"
|
||||
@@ -106,36 +100,23 @@
|
||||
|
||||
<CheckBox
|
||||
android:id="@+id/checkboxSave"
|
||||
android:layout_width="0dp"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:layout_weight="4"
|
||||
android:layout_marginEnd="5dp"
|
||||
android:button="@null"
|
||||
android:checked="true"
|
||||
android:textColor="?android:attr/textColorSecondary"
|
||||
android:drawableEnd="?android:attr/listChoiceIndicatorMultiple"
|
||||
android:text="@string/acc_save" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/button_exit"
|
||||
style="@style/Widget.AppCompat.Button.Borderless"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="32dp"
|
||||
android:layout_weight="2"
|
||||
android:background="@drawable/button_negative"
|
||||
android:text="@android:string/cancel"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="12sp" />
|
||||
android:text="@string/acc_save"
|
||||
android:textColor="?android:attr/textColorSecondary" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/button_ok"
|
||||
style="@style/Widget.AppCompat.Button.Borderless"
|
||||
android:layout_width="0dp"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="32dp"
|
||||
android:layout_weight="2"
|
||||
android:background="@drawable/button_positive"
|
||||
android:text="@android:string/ok"
|
||||
android:text="@string/action_login"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="12sp" />
|
||||
</LinearLayout>
|
||||
|
||||
@@ -43,8 +43,8 @@
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:layout_marginStart="10dp"
|
||||
android:layout_marginEnd="6dp"
|
||||
android:layout_marginStart="6dp"
|
||||
android:layout_marginTop="-40dp"
|
||||
android:animateLayoutChanges="true"
|
||||
android:orientation="vertical">
|
||||
@@ -53,12 +53,16 @@
|
||||
<android.support.v7.widget.CardView
|
||||
android:id="@+id/mainCard"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_margin="5dp"
|
||||
android:elevation="5dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="5dp"
|
||||
android:layout_marginStart="5dp"
|
||||
android:layout_marginTop="5dp"
|
||||
android:visibility="gone"
|
||||
app:cardBackgroundColor="?android:attr/colorBackground"
|
||||
app:cardCornerRadius="8dp">
|
||||
app:cardBackgroundColor="?android:attr/panelBackground"
|
||||
app:cardCornerRadius="10dp"
|
||||
app:cardElevation="1dp"
|
||||
app:cardPreventCornerOverlap="false"
|
||||
app:cardUseCompatPadding="true">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
@@ -241,11 +245,15 @@
|
||||
android:id="@+id/app_video"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="5dp"
|
||||
android:elevation="5dp"
|
||||
android:layout_marginEnd="5dp"
|
||||
android:layout_marginStart="5dp"
|
||||
android:layout_marginTop="5dp"
|
||||
android:visibility="gone"
|
||||
app:cardCornerRadius="8dp"
|
||||
app:cardPreventCornerOverlap="false">
|
||||
app:cardBackgroundColor="?android:attr/panelBackground"
|
||||
app:cardCornerRadius="10dp"
|
||||
app:cardElevation="1dp"
|
||||
app:cardPreventCornerOverlap="false"
|
||||
app:cardUseCompatPadding="true">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/thumbnail"
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="300dp"
|
||||
android:layout_height="150dp"
|
||||
android:elevation="2dp"
|
||||
app:cardElevation="1dp"
|
||||
app:cardCornerRadius="5dp"
|
||||
app:cardUseCompatPadding="true">
|
||||
|
||||
|
||||
@@ -5,16 +5,24 @@
|
||||
android:layout_height="38dp"
|
||||
android:layout_margin="5dp"
|
||||
android:background="@drawable/badge_bg"
|
||||
android:clipToPadding="true"
|
||||
android:elevation="1dp"
|
||||
android:padding="8dp">
|
||||
|
||||
<com.github.florent37.shapeofview.shapes.CircleView
|
||||
android:id="@+id/badge_dot"
|
||||
android:id="@+id/badge_dot_c"
|
||||
android:layout_width="12dp"
|
||||
android:layout_height="12dp"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_marginStart="5dp"
|
||||
android:background="@color/colorGold" />
|
||||
android:layout_marginStart="5dp">
|
||||
|
||||
<View
|
||||
android:id="@+id/badge_dot"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@color/colorGold" />
|
||||
|
||||
</com.github.florent37.shapeofview.shapes.CircleView>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/badge_text"
|
||||
@@ -23,11 +31,11 @@
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_marginEnd="5dp"
|
||||
android:layout_marginStart="5dp"
|
||||
android:layout_toEndOf="@+id/badge_dot"
|
||||
android:layout_toEndOf="@+id/badge_dot_c"
|
||||
android:ellipsize="end"
|
||||
android:gravity="center"
|
||||
android:singleLine="true"
|
||||
android:textColor="?android:attr/colorForeground" />
|
||||
android:textColor="?android:attr/textColorPrimary" />
|
||||
|
||||
<com.github.florent37.shapeofview.shapes.CircleView
|
||||
android:id="@+id/badge_cancel"
|
||||
@@ -36,17 +44,15 @@
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_marginEnd="5dp"
|
||||
android:layout_toEndOf="@+id/badge_text"
|
||||
android:background="@color/lightGray"
|
||||
android:visibility="gone">
|
||||
|
||||
<ImageView
|
||||
android:layout_width="10dp"
|
||||
android:layout_height="10dp"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:scaleX=".8"
|
||||
android:scaleY=".8"
|
||||
android:background="@color/lightGray"
|
||||
android:src="@drawable/ic_cancel"
|
||||
android:tint="?android:attr/colorForeground" />
|
||||
android:tint="@color/darkGray" />
|
||||
|
||||
</com.github.florent37.shapeofview.shapes.CircleView>
|
||||
|
||||
|
||||
@@ -4,21 +4,21 @@
|
||||
android:id="@+id/filter_sheet"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="15dp"
|
||||
android:layout_marginTop="15dp"
|
||||
android:background="?android:attr/panelBackground"
|
||||
android:layout_marginBottom="15dp"
|
||||
android:elevation="10dp"
|
||||
android:nestedScrollingEnabled="false"
|
||||
android:orientation="vertical"
|
||||
app:behavior_hideable="true"
|
||||
app:behavior_peekHeight="0dp"
|
||||
app:layout_behavior="android.support.design.widget.BottomSheetBehavior"
|
||||
app:roundRect_topLeftRadius="20dp"
|
||||
app:roundRect_topRightRadius="20dp">
|
||||
app:shape_roundRect_topLeftRadius="20dp"
|
||||
app:shape_roundRect_topRightRadius="20dp">
|
||||
|
||||
<android.support.v4.widget.NestedScrollView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="?android:attr/panelBackground"
|
||||
android:padding="5dp">
|
||||
|
||||
<RelativeLayout
|
||||
@@ -66,8 +66,8 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentTop="true"
|
||||
android:layout_marginBottom="5dp"
|
||||
android:layout_marginStart="10dp"
|
||||
android:layout_marginBottom="5dp"
|
||||
android:fontFamily="@font/google_sans_bold"
|
||||
android:text="@string/action_filter_misc"
|
||||
android:textAllCaps="true"
|
||||
@@ -117,8 +117,8 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentTop="true"
|
||||
android:layout_marginBottom="5dp"
|
||||
android:layout_marginStart="10dp"
|
||||
android:layout_marginBottom="5dp"
|
||||
android:fontFamily="@font/google_sans_bold"
|
||||
android:text="@string/action_filter_build"
|
||||
android:textAllCaps="true"
|
||||
@@ -149,9 +149,9 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@+id/filter_cat2"
|
||||
android:layout_marginBottom="5dp"
|
||||
android:layout_marginStart="10dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_marginBottom="5dp"
|
||||
android:fontFamily="@font/google_sans_bold"
|
||||
android:text="@string/action_filter_rating"
|
||||
android:textAllCaps="true"
|
||||
@@ -175,9 +175,9 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@+id/filter_ratings"
|
||||
android:layout_marginBottom="5dp"
|
||||
android:layout_marginStart="10dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_marginBottom="5dp"
|
||||
android:fontFamily="@font/google_sans_bold"
|
||||
android:text="@string/action_filter_downloads"
|
||||
android:textAllCaps="true"
|
||||
|
||||
@@ -17,49 +17,36 @@
|
||||
android:orientation="vertical"
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior">
|
||||
|
||||
<LinearLayout
|
||||
<android.support.v7.widget.CardView
|
||||
android:id="@+id/category_tabs_cnt"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical">
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="2dp"
|
||||
android:layout_marginEnd="6dp"
|
||||
android:layout_marginStart="6dp"
|
||||
android:layout_marginTop="2dp"
|
||||
app:cardBackgroundColor="?android:attr/panelBackground"
|
||||
app:cardCornerRadius="10dp"
|
||||
app:cardElevation="1dp"
|
||||
app:cardPreventCornerOverlap="false"
|
||||
app:cardUseCompatPadding="true">
|
||||
|
||||
<android.support.design.widget.TabLayout
|
||||
android:id="@+id/category_tabs"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="5dp"
|
||||
android:layout_marginStart="5dp"
|
||||
android:background="@drawable/outline_bg"
|
||||
app:tabIndicatorHeight="0dp"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:layout_marginStart="10dp"
|
||||
app:tabIndicatorHeight="4dp"
|
||||
app:tabMode="scrollable"
|
||||
app:tabSelectedTextColor="@color/colorAccent" />
|
||||
</android.support.v7.widget.CardView>
|
||||
|
||||
<android.support.v4.view.ViewPager
|
||||
android:id="@+id/view_pager"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
|
||||
</LinearLayout>
|
||||
|
||||
<ProgressBar
|
||||
android:id="@+id/progress"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:indeterminate="true"
|
||||
android:visibility="gone" />
|
||||
|
||||
<TextView
|
||||
android:id="@android:id/empty"
|
||||
<android.support.v4.view.ViewPager
|
||||
android:id="@+id/view_pager"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@+id/progress"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_marginTop="25dp"
|
||||
android:gravity="center"
|
||||
android:textAppearance="?android:attr/textAppearanceLarge" />
|
||||
|
||||
android:layout_height="match_parent"
|
||||
android:layout_below="@id/category_tabs_cnt" />
|
||||
</RelativeLayout>
|
||||
|
||||
<include layout="@layout/filter_sheet" />
|
||||
|
||||
@@ -25,34 +25,34 @@
|
||||
android:textColor="?android:attr/textColorPrimary"
|
||||
android:textSize="18sp" />
|
||||
|
||||
<com.github.florent37.shapeofview.shapes.RoundRectView
|
||||
<android.support.v7.widget.CardView
|
||||
android:id="@+id/search_layout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="12dp"
|
||||
android:background="?android:attr/panelBackground"
|
||||
android:elevation="2dp"
|
||||
app:roundRect_bottomLeftRadius="10dp"
|
||||
app:roundRect_bottomRightRadius="10dp"
|
||||
app:roundRect_topLeftRadius="10dp"
|
||||
app:roundRect_topRightRadius="10dp">
|
||||
android:layout_margin="8dp"
|
||||
app:cardBackgroundColor="?android:attr/panelBackground"
|
||||
app:cardCornerRadius="10dp"
|
||||
app:cardElevation="1dp"
|
||||
app:cardPreventCornerOverlap="false"
|
||||
app:cardUseCompatPadding="true">
|
||||
|
||||
<android.support.v7.widget.SearchView
|
||||
android:id="@+id/search_apps"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layoutDirection="locale"
|
||||
app:closeIcon="@null"
|
||||
app:queryBackground="@android:color/transparent"
|
||||
app:queryHint="Search Apps"
|
||||
app:queryHint="@string/action_search_title"
|
||||
app:searchIcon="@drawable/ic_search" />
|
||||
</com.github.florent37.shapeofview.shapes.RoundRectView>
|
||||
</android.support.v7.widget.CardView>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:layout_marginStart="16dp"
|
||||
android:layout_marginTop="24dp"
|
||||
android:layout_marginTop="18dp"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<TextView
|
||||
@@ -81,42 +81,54 @@
|
||||
android:textSize="14sp" />
|
||||
</LinearLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/searchcard"
|
||||
<ScrollView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="2dp"
|
||||
android:layout_marginStart="2dp"
|
||||
android:layout_marginTop="8dp"
|
||||
android:animateLayoutChanges="true"
|
||||
android:padding="5dp">
|
||||
android:layout_height="match_parent"
|
||||
android:scrollbars="none">
|
||||
|
||||
<android.support.v7.widget.RecyclerView
|
||||
android:id="@+id/searchHistory"
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:scrollbars="vertical" />
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/emptyView"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="50dp"
|
||||
android:layout_gravity="center"
|
||||
android:layout_margin="2dp"
|
||||
android:background="@drawable/outline_bg"
|
||||
android:gravity="center"
|
||||
android:padding="15dp"
|
||||
android:text="@string/list_empty_query"
|
||||
android:textSize="16sp" />
|
||||
</RelativeLayout>
|
||||
<RelativeLayout
|
||||
android:id="@+id/searchcard"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="248dp"
|
||||
android:layout_marginEnd="2dp"
|
||||
android:layout_marginStart="2dp"
|
||||
android:layout_marginTop="8dp"
|
||||
android:animateLayoutChanges="true"
|
||||
android:padding="5dp">
|
||||
|
||||
<com.dragons.aurora.view.ClusterAppsCard
|
||||
android:id="@+id/searchClusterApp"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="bottom"
|
||||
android:layout_marginEnd="4dp"
|
||||
android:layout_marginStart="4dp"
|
||||
android:layout_marginTop="12dp" />
|
||||
<android.support.v7.widget.RecyclerView
|
||||
android:id="@+id/searchHistory"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:scrollbars="vertical" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/emptyView"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="50dp"
|
||||
android:layout_gravity="center"
|
||||
android:layout_margin="2dp"
|
||||
android:background="@drawable/outline_bg"
|
||||
android:gravity="center"
|
||||
android:padding="15dp"
|
||||
android:text="@string/list_empty_query"
|
||||
android:textSize="16sp" />
|
||||
</RelativeLayout>
|
||||
|
||||
<com.dragons.aurora.view.ClusterAppsCard
|
||||
android:id="@+id/searchClusterApp"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="bottom"
|
||||
android:layout_marginEnd="4dp"
|
||||
android:layout_marginStart="4dp"
|
||||
android:layout_marginTop="12dp" />
|
||||
</LinearLayout>
|
||||
</ScrollView>
|
||||
|
||||
</LinearLayout>
|
||||
@@ -9,47 +9,122 @@
|
||||
android:layout_height="wrap_content"
|
||||
app:ToolbarStyle="Details" />
|
||||
|
||||
<RelativeLayout
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginBottom="10dp"
|
||||
android:background="?android:attr/colorBackground"
|
||||
android:orientation="vertical"
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior">
|
||||
|
||||
<android.support.v7.widget.RecyclerView
|
||||
android:id="@+id/search_apps_list"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:clipToPadding="false"
|
||||
android:nestedScrollingEnabled="false"
|
||||
android:paddingBottom="76dp"
|
||||
android:paddingEnd="5dp"
|
||||
android:paddingStart="5dp"
|
||||
android:paddingTop="5dp"
|
||||
android:scrollbarStyle="outsideOverlay"
|
||||
android:scrollbars="vertical" />
|
||||
|
||||
<ProgressBar
|
||||
<RelativeLayout
|
||||
android:id="@+id/ohhSnap"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:visibility="gone">
|
||||
|
||||
<ImageView
|
||||
android:layout_width="36dp"
|
||||
android:layout_height="36dp"
|
||||
android:layout_above="@+id/ohhSnap_txt"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:alpha=".75"
|
||||
android:src="@drawable/ic_err" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/ohhSnap_txt"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_marginTop="10dp"
|
||||
android:fontFamily="@font/google_sans"
|
||||
android:text="@string/ohh_snap_text"
|
||||
android:textSize="16sp" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/ohhSnap_retry"
|
||||
style="@style/Widget.AppCompat.Button.Borderless"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="32dp"
|
||||
android:layout_below="@+id/ohhSnap_txt"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_marginTop="15dp"
|
||||
android:background="@drawable/button_positive"
|
||||
android:fontFamily="@font/google_sans"
|
||||
android:maxLines="1"
|
||||
android:padding="5dp"
|
||||
android:text="@string/ohh_snap_retry"
|
||||
android:textAllCaps="false"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="12sp" />
|
||||
</RelativeLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/unicorn"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:visibility="gone">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/no_app_available"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_marginTop="10dp"
|
||||
android:fontFamily="@font/google_sans_bold"
|
||||
android:text="@string/list_empty_search"
|
||||
android:textSize="18sp" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/recheck_query"
|
||||
style="@style/Widget.AppCompat.Button.Borderless"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="32dp"
|
||||
android:layout_below="@+id/no_app_available"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_marginTop="15dp"
|
||||
android:background="@drawable/button_positive"
|
||||
android:fontFamily="@font/google_sans"
|
||||
android:maxLines="1"
|
||||
android:padding="5dp"
|
||||
android:text="@string/list_update_recheck"
|
||||
android:textAllCaps="false"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="12sp" />
|
||||
</RelativeLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/progress"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:indeterminate="true"
|
||||
android:visibility="gone" />
|
||||
|
||||
<TextView
|
||||
android:id="@android:id/empty"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@+id/progress"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_marginTop="25dp"
|
||||
android:gravity="center"
|
||||
android:textAppearance="?android:attr/textAppearanceLarge" />
|
||||
android:layout_height="match_parent">
|
||||
|
||||
</RelativeLayout>
|
||||
<ProgressBar
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerInParent="true"
|
||||
android:scaleX=".8"
|
||||
android:scaleY=".8" />
|
||||
</RelativeLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginBottom="10dp"
|
||||
android:background="?android:attr/colorBackground"
|
||||
android:orientation="vertical">
|
||||
|
||||
<android.support.v7.widget.RecyclerView
|
||||
android:id="@+id/search_apps_list"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:clipToPadding="false"
|
||||
android:nestedScrollingEnabled="false"
|
||||
android:paddingStart="5dp"
|
||||
android:paddingTop="5dp"
|
||||
android:paddingEnd="5dp"
|
||||
android:paddingBottom="76dp"
|
||||
android:scrollbarStyle="outsideOverlay"
|
||||
android:scrollbars="vertical" />
|
||||
</RelativeLayout>
|
||||
</LinearLayout>
|
||||
</android.support.design.widget.CoordinatorLayout>
|
||||
@@ -9,7 +9,10 @@
|
||||
android:id="@+id/view_background"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_margin="5dp"
|
||||
android:layout_marginBottom="5dp"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginTop="5dp"
|
||||
android:background="@drawable/outline_bg"
|
||||
android:backgroundTint="@color/colorRed"
|
||||
android:padding="2dp">
|
||||
@@ -36,17 +39,19 @@
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
<com.github.florent37.shapeofview.shapes.RoundRectView
|
||||
|
||||
<android.support.v7.widget.CardView
|
||||
android:id="@+id/view_foreground"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="4dp"
|
||||
android:background="?android:attr/panelBackground"
|
||||
android:elevation="1.5dp"
|
||||
app:roundRect_bottomLeftRadius="10dp"
|
||||
app:roundRect_bottomRightRadius="10dp"
|
||||
app:roundRect_topLeftRadius="10dp"
|
||||
app:roundRect_topRightRadius="10dp">
|
||||
android:layout_marginBottom="2dp"
|
||||
android:layout_marginEnd="4dp"
|
||||
android:layout_marginStart="4dp"
|
||||
app:cardBackgroundColor="?android:attr/panelBackground"
|
||||
app:cardCornerRadius="10dp"
|
||||
app:cardElevation="1dp"
|
||||
app:cardPreventCornerOverlap="false"
|
||||
app:cardUseCompatPadding="true">
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
@@ -90,6 +95,7 @@
|
||||
android:textColor="?android:attr/textColorSecondary"
|
||||
android:textSize="12sp" />
|
||||
</RelativeLayout>
|
||||
</com.github.florent37.shapeofview.shapes.RoundRectView>
|
||||
|
||||
</android.support.v7.widget.CardView>
|
||||
|
||||
</FrameLayout>
|
||||
@@ -1,15 +1,16 @@
|
||||
<com.github.florent37.shapeofview.shapes.RoundRectView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:id="@+id/list_container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="4dp"
|
||||
android:background="?android:attr/panelBackground"
|
||||
android:elevation="1.5dp"
|
||||
app:roundRect_bottomLeftRadius="10dp"
|
||||
app:roundRect_bottomRightRadius="10dp"
|
||||
app:roundRect_topLeftRadius="10dp"
|
||||
app:roundRect_topRightRadius="10dp">
|
||||
android:layout_marginEnd="6dp"
|
||||
android:layout_marginStart="6dp"
|
||||
android:layout_marginTop="2dp"
|
||||
app:cardBackgroundColor="?android:attr/panelBackground"
|
||||
app:cardCornerRadius="10dp"
|
||||
app:cardElevation="1dp"
|
||||
app:cardPreventCornerOverlap="false"
|
||||
app:cardUseCompatPadding="true">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="fill_parent"
|
||||
@@ -121,4 +122,5 @@
|
||||
android:src="@drawable/ic_3dots" />
|
||||
|
||||
</LinearLayout>
|
||||
</com.github.florent37.shapeofview.shapes.RoundRectView>
|
||||
|
||||
</android.support.v7.widget.CardView>
|
||||
@@ -3,154 +3,231 @@
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginTop="24dp"
|
||||
android:orientation="vertical">
|
||||
|
||||
<com.dragons.aurora.view.AdaptiveToolbar
|
||||
android:id="@+id/d_adtb"
|
||||
<FrameLayout
|
||||
android:id="@+id/top_artwork"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:ToolbarStyle="Details" />
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="5dp"
|
||||
android:background="@drawable/outline_bg"
|
||||
android:padding="5dp">
|
||||
<com.github.florent37.shapeofview.shapes.DiagonalView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="200dp"
|
||||
android:alpha=".8"
|
||||
app:shape_diagonal_angle="5"
|
||||
app:shape_diagonal_direction="left"
|
||||
app:shape_diagonal_position="bottom">
|
||||
|
||||
<View
|
||||
android:id="@+id/diagonalView1"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@color/gray" />
|
||||
|
||||
</com.github.florent37.shapeofview.shapes.DiagonalView>
|
||||
|
||||
<com.github.florent37.shapeofview.shapes.DiagonalView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="200dp"
|
||||
android:alpha=".8"
|
||||
app:shape_diagonal_angle="10"
|
||||
app:shape_diagonal_direction="right"
|
||||
app:shape_diagonal_position="bottom">
|
||||
|
||||
<View
|
||||
android:id="@+id/diagonalView2"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@color/darkGray" />
|
||||
</com.github.florent37.shapeofview.shapes.DiagonalView>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:padding="10dip">
|
||||
android:layout_gravity="center"
|
||||
android:gravity="center"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<ScrollView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/manual_download_warning" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/compatibility"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingTop="15dp"
|
||||
android:text="@string/manual_download_incompatible" />
|
||||
|
||||
</LinearLayout>
|
||||
</ScrollView>
|
||||
|
||||
<EditText
|
||||
android:id="@+id/version_code"
|
||||
android:layout_width="match_parent"
|
||||
<TextView
|
||||
android:id="@+id/aurora"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:hint="@string/manual_download_hint_version_code"
|
||||
android:inputType="number" />
|
||||
android:layout_gravity="center"
|
||||
android:fontFamily="@font/google_sans_bold"
|
||||
android:text="@string/app_name"
|
||||
android:textAlignment="center"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="22sp" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
<TextView
|
||||
android:id="@+id/store"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="end"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<Button
|
||||
android:id="@+id/download"
|
||||
style="@style/Widget.AppCompat.Button.Borderless.Colored"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="32dp"
|
||||
android:background="@drawable/button_positive"
|
||||
android:fontFamily="@font/google_sans"
|
||||
android:maxLines="1"
|
||||
android:padding="5dp"
|
||||
android:text="@string/details_download"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="12sp" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/cancel"
|
||||
style="@style/Widget.AppCompat.Button.Borderless.Colored"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="32dp"
|
||||
android:background="@drawable/button_positive"
|
||||
android:fontFamily="@font/google_sans"
|
||||
android:maxLines="1"
|
||||
android:padding="5dp"
|
||||
android:text="@string/details_cancel"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="12sp" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/install"
|
||||
style="@style/Widget.AppCompat.Button.Borderless.Colored"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="32dp"
|
||||
android:background="@drawable/button_positive"
|
||||
android:fontFamily="@font/google_sans"
|
||||
android:maxLines="1"
|
||||
android:padding="5dp"
|
||||
android:text="@string/details_install"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="12sp" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/showInPlayStore"
|
||||
style="@style/Widget.AppCompat.Button.Borderless.Colored"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="32dp"
|
||||
android:background="@drawable/button_positive"
|
||||
android:fontFamily="@font/google_sans"
|
||||
android:maxLines="1"
|
||||
android:padding="5dp"
|
||||
android:text="@string/details_install"
|
||||
android:textColor="@color/white"
|
||||
android:visibility="gone"
|
||||
android:textSize="12sp" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="5dp"
|
||||
android:animateLayoutChanges="true"
|
||||
android:gravity="center"
|
||||
android:orientation="horizontal"
|
||||
android:weightSum="6">
|
||||
|
||||
<ProgressBar
|
||||
android:id="@+id/download_progress"
|
||||
style="@style/Widget.AppCompat.ProgressBar.Horizontal"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="2dp"
|
||||
android:layout_weight="5.3"
|
||||
android:indeterminate="false"
|
||||
android:progressBackgroundTint="@color/gray"
|
||||
android:visibility="gone" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/progressCents"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight=".7"
|
||||
android:fontFamily="@font/google_sans"
|
||||
android:gravity="end"
|
||||
android:paddingEnd="3dp"
|
||||
android:paddingStart="3dp"
|
||||
android:textSize="12sp"
|
||||
android:visibility="gone" />
|
||||
</LinearLayout>
|
||||
android:alpha=".75"
|
||||
android:fontFamily="@font/google_sans"
|
||||
android:text="Store"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="22sp" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</RelativeLayout>
|
||||
</FrameLayout>
|
||||
|
||||
<ScrollView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
|
||||
<android.support.v7.widget.CardView
|
||||
android:id="@+id/widget_card"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="10dp"
|
||||
app:cardBackgroundColor="?android:attr/panelBackground"
|
||||
app:cardCornerRadius="10dp"
|
||||
app:cardElevation="1dp"
|
||||
app:cardPreventCornerOverlap="false"
|
||||
app:cardUseCompatPadding="true">
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="8dp">
|
||||
|
||||
<include
|
||||
android:id="@+id/app_info"
|
||||
layout="@layout/app_info_inc" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/version_code"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="36dp"
|
||||
android:layout_below="@+id/app_info"
|
||||
android:layout_marginBottom="10dp"
|
||||
android:layout_marginEnd="5dp"
|
||||
android:layout_marginStart="5dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:background="@drawable/outline_bg"
|
||||
android:hint="@string/manual_download_hint_version_code"
|
||||
android:inputType="number"
|
||||
android:paddingEnd="10dp"
|
||||
android:paddingStart="10dp"
|
||||
android:textAlignment="viewStart" />
|
||||
|
||||
<include
|
||||
android:id="@+id/app_action_button"
|
||||
layout="@layout/app_actions_inc"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/version_code" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@+id/app_action_button"
|
||||
android:layout_margin="5dp"
|
||||
android:animateLayoutChanges="true"
|
||||
android:gravity="center"
|
||||
android:orientation="horizontal"
|
||||
android:weightSum="6">
|
||||
|
||||
<ProgressBar
|
||||
android:id="@+id/download_progress"
|
||||
style="@style/Widget.AppCompat.ProgressBar.Horizontal"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="2dp"
|
||||
android:layout_weight="5.3"
|
||||
android:indeterminate="true"
|
||||
android:progressBackgroundTint="@color/gray"
|
||||
android:visibility="gone" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/progressCents"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight=".7"
|
||||
android:fontFamily="@font/google_sans"
|
||||
android:gravity="end"
|
||||
android:paddingEnd="3dp"
|
||||
android:paddingStart="3dp"
|
||||
android:textSize="12sp"
|
||||
android:visibility="gone" />
|
||||
</LinearLayout>
|
||||
</RelativeLayout>
|
||||
|
||||
</android.support.v7.widget.CardView>
|
||||
|
||||
<android.support.v7.widget.CardView
|
||||
android:id="@+id/text_card"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="10dp"
|
||||
app:cardBackgroundColor="?android:attr/panelBackground"
|
||||
app:cardCornerRadius="10dp"
|
||||
app:cardElevation="1dp"
|
||||
app:cardPreventCornerOverlap="false"
|
||||
app:cardUseCompatPadding="true">
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="8dp">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/show_LessMore"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_margin="5dp"
|
||||
app:srcCompat="@drawable/ic_expand_more_24" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/textView"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="10dp"
|
||||
android:layout_marginTop="2dp"
|
||||
android:ellipsize="end"
|
||||
android:fontFamily="@font/google_sans_bold"
|
||||
android:text="@string/manual_download_disclaimer"
|
||||
android:textAlignment="viewStart"
|
||||
android:textColor="?android:attr/textColorPrimary"
|
||||
android:textSize="18sp" />
|
||||
|
||||
<ScrollView
|
||||
android:id="@+id/disclaimer"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@+id/show_LessMore"
|
||||
android:layout_marginTop="5dp"
|
||||
android:visibility="gone">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/manual_download_warning" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/compatibility"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingTop="15dp"
|
||||
android:text="@string/manual_download_incompatible" />
|
||||
|
||||
</LinearLayout>
|
||||
</ScrollView>
|
||||
</RelativeLayout>
|
||||
|
||||
</android.support.v7.widget.CardView>
|
||||
</LinearLayout>
|
||||
</ScrollView>
|
||||
</LinearLayout>
|
||||
@@ -1,33 +1,23 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="30dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="4dp"
|
||||
android:background="@drawable/button_bg"
|
||||
android:clipToPadding="true"
|
||||
android:elevation="2dp"
|
||||
android:gravity="center"
|
||||
android:paddingEnd="4dp"
|
||||
android:paddingStart="4dp">
|
||||
android:paddingEnd="10dp"
|
||||
android:paddingStart="10dp">
|
||||
|
||||
<com.github.florent37.shapeofview.shapes.CircleView
|
||||
android:id="@+id/menu_item_icon_c"
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/menu_item_icon"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="25dp"
|
||||
android:layout_marginBottom="2.5dp"
|
||||
android:layout_marginStart="2dp"
|
||||
android:layout_marginTop="2.5dp"
|
||||
android:background="#55000000">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/menu_item_icon"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="@dimen/appbar_icon_height_secondary"
|
||||
android:layout_gravity="center_horizontal|center_vertical"
|
||||
android:scaleX=".6"
|
||||
android:scaleY=".6"
|
||||
android:tint="#FFF" />
|
||||
</com.github.florent37.shapeofview.shapes.CircleView>
|
||||
android:layout_height="@dimen/appbar_icon_height_secondary"
|
||||
android:layout_gravity="center_horizontal|center_vertical"
|
||||
android:alpha=".8"
|
||||
android:scaleX=".8"
|
||||
android:scaleY=".8"
|
||||
android:tint="?android:attr/colorForeground"
|
||||
android:src="@drawable/ic_categories" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/menu_item_label"
|
||||
@@ -35,10 +25,11 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:layout_marginStart="2dp"
|
||||
android:layout_toEndOf="@+id/menu_item_icon_c"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_toEndOf="@+id/menu_item_icon"
|
||||
android:fontFamily="@font/google_sans_bold"
|
||||
android:textAlignment="viewStart"
|
||||
android:text="@string/action_filter_rating"
|
||||
android:textColor="?android:attr/textColorPrimary"
|
||||
android:textSize="@dimen/appbar_secondary_menu_text_size" />
|
||||
|
||||
</RelativeLayout>
|
||||
@@ -10,7 +10,7 @@
|
||||
android:layout_height="@dimen/appbar_icon_height"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:alpha=".75"
|
||||
android:background="?android:attr/selectableItemBackgroundBorderless"
|
||||
android:background="?android:selectableItemBackgroundBorderless"
|
||||
android:cropToPadding="true"
|
||||
android:padding="@dimen/appbar_icon_padding"
|
||||
android:tint="?android:attr/colorForeground" />
|
||||
|
||||
@@ -1,20 +1,19 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<com.github.florent37.shapeofview.shapes.RoundRectView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="115dp"
|
||||
android:layout_height="135dp"
|
||||
android:layout_margin="4dp"
|
||||
android:background="?android:attr/panelBackground"
|
||||
android:elevation="2dp"
|
||||
app:roundRect_bottomLeftRadius="10dp"
|
||||
app:roundRect_bottomRightRadius="10dp"
|
||||
app:roundRect_topLeftRadius="10dp"
|
||||
app:roundRect_topRightRadius="10dp">
|
||||
android:layout_margin="2dp"
|
||||
app:cardBackgroundColor="?android:attr/panelBackground"
|
||||
app:cardCornerRadius="10dp"
|
||||
app:cardElevation="1dp"
|
||||
app:cardPreventCornerOverlap="false"
|
||||
app:cardUseCompatPadding="true">
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/app_container"
|
||||
android:layout_width="115dp"
|
||||
android:layout_height="135dp">
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/app_icon"
|
||||
@@ -90,4 +89,4 @@
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
</com.github.florent37.shapeofview.shapes.RoundRectView>
|
||||
</android.support.v7.widget.CardView>
|
||||
|
||||
@@ -4,10 +4,10 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="2dp"
|
||||
app:roundRect_bottomLeftRadius="8dp"
|
||||
app:roundRect_bottomRightRadius="8dp"
|
||||
app:roundRect_topLeftRadius="8dp"
|
||||
app:roundRect_topRightRadius="8dp">
|
||||
app:shape_roundRect_bottomLeftRadius="8dp"
|
||||
app:shape_roundRect_bottomRightRadius="8dp"
|
||||
app:shape_roundRect_topLeftRadius="8dp"
|
||||
app:shape_roundRect_topRightRadius="8dp">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/scrn_itm_s"
|
||||
|
||||
@@ -8,7 +8,10 @@
|
||||
android:id="@+id/view_background"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_margin="5dp"
|
||||
android:layout_marginBottom="4dp"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:layout_marginStart="10dp"
|
||||
android:layout_marginTop="6dp"
|
||||
android:background="@drawable/outline_bg_black"
|
||||
android:padding="2dp">
|
||||
|
||||
@@ -36,17 +39,18 @@
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
<com.github.florent37.shapeofview.shapes.RoundRectView
|
||||
<android.support.v7.widget.CardView
|
||||
android:id="@+id/view_foreground"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="4dp"
|
||||
android:background="?android:attr/panelBackground"
|
||||
android:elevation="1.5dp"
|
||||
app:roundRect_bottomLeftRadius="10dp"
|
||||
app:roundRect_bottomRightRadius="10dp"
|
||||
app:roundRect_topLeftRadius="10dp"
|
||||
app:roundRect_topRightRadius="10dp">
|
||||
android:layout_marginEnd="6dp"
|
||||
android:layout_marginStart="6dp"
|
||||
android:layout_marginTop="2dp"
|
||||
app:cardBackgroundColor="?android:attr/panelBackground"
|
||||
app:cardCornerRadius="10dp"
|
||||
app:cardElevation="1dp"
|
||||
app:cardPreventCornerOverlap="false"
|
||||
app:cardUseCompatPadding="true">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
@@ -309,6 +313,7 @@
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
</com.github.florent37.shapeofview.shapes.RoundRectView>
|
||||
|
||||
</android.support.v7.widget.CardView>
|
||||
|
||||
</FrameLayout>
|
||||
@@ -44,7 +44,7 @@
|
||||
<item>4.7</item>
|
||||
</string-array>
|
||||
<string-array name="filterRatingLabels" translatable="false">
|
||||
<item> All </item>
|
||||
<item>@string/action_filter_all</item>
|
||||
<item> 1 + </item>
|
||||
<item> 2 + </item>
|
||||
<item> 3 + </item>
|
||||
@@ -65,7 +65,7 @@
|
||||
<item>100000000</item>
|
||||
</string-array>
|
||||
<string-array name="filterDownloadsLabels" translatable="false">
|
||||
<item> All </item>
|
||||
<item>@string/action_filter_all</item>
|
||||
<item> > 100 </item>
|
||||
<item> > 1 K </item>
|
||||
<item> > 10 K </item>
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
<string name="action_acc_txt">Aurora Accounts</string>
|
||||
<string name="action_categories">Categories</string>
|
||||
<string name="action_filter">Filters</string>
|
||||
<string name="action_filter_all">All</string>
|
||||
<string name="action_filter_apps_with_ads">Apps with ads</string>
|
||||
<string name="action_filter_category">Category</string>
|
||||
<string name="action_filter_downloads">Downloads</string>
|
||||
@@ -227,9 +228,10 @@
|
||||
<string name="list_update_recheck">Recheck</string>
|
||||
<string name="list_updating">Updating…</string>
|
||||
<string name="manual_download_compatible">Version code field has been pre-filled with this app\'s latest compatible version code. If you want the previous version, simply input a number smaller than the current. If the developer has not deleted the apk of the previous version from Play Store, you might be able to start the download.</string>
|
||||
<string name="manual_download_disclaimer">Disclaimer</string>
|
||||
<string name="manual_download_hint_version_code">version code here</string>
|
||||
<string name="manual_download_incompatible">Google Play Store considers this app incompatible with your device. This means version code has not been returned by the Google Play Store server.</string>
|
||||
<string name="manual_download_warning">This page lets you manually choose the version of the app to download. Version code is a number identifying the version of an app. It starts from 1 and is incremented by the app developer every time there is a new version. Normally Play Store lets you download only the latest apk compatible with your device. By manually supplying this number you might be able to get other versions as well.\n\nKeep in mind that downloading arbitrary versions of apps is not supported by Google Play Store. Your success depends on a lucky guess of the version code. Even if you guess right and you get the download to start, you might get an incompatible apk. Most likely, you are wasting your time!</string>
|
||||
<string name="manual_download_warning">This page lets you manually choose the version of the app to download.\n\nKeep in mind that downloading arbitrary versions of apps is not supported by Google Play Store. Your success depends on a lucky guess of the version code. Even if you guess right and you get the download to start, you might get an incompatible apk.</string>
|
||||
<string name="notification_download_complete">Download complete. Touch to install.</string>
|
||||
<string name="notification_download_complete_new_permissions">Download complete. New permissions requested.</string>
|
||||
<string name="notification_download_complete_new_permissions_toast">"%1$s downloaded. New version of the app requests more permissions. Check the new permissions list."</string>
|
||||
@@ -244,6 +246,8 @@
|
||||
<string name="notification_updates_available_message">"Updates are available for %1$d of your apps."</string>
|
||||
<string name="notification_updates_available_title">App updates available.</string>
|
||||
<string name="no_permissions">No permissions are used.</string>
|
||||
<string name="ohh_snap_text">Something went wrong</string>
|
||||
<string name="ohh_snap_retry">Retry</string>
|
||||
<string name="pref_app_language">Select Language</string>
|
||||
<string name="pref_app_language_cat">Aurora Language</string>
|
||||
<string name="pref_auto_install">Install apps immediately</string>
|
||||
|
||||
Reference in New Issue
Block a user