mirror of
https://github.com/whyorean/AuroraStore.git
synced 2026-06-19 04:58:47 -04:00
UI : Redesign app [2/2]
This commit is contained in:
@@ -84,7 +84,7 @@ dependencies {
|
||||
annotationProcessor 'org.projectlombok:lombok:1.18.10'
|
||||
|
||||
//PlayStoreApi
|
||||
implementation 'com.github.whyorean:playstore-api-v2:2.4'
|
||||
implementation 'com.github.whyorean:playstore-api-v2:2.5'
|
||||
|
||||
//OkHTTP3
|
||||
implementation 'com.squareup.okhttp3:okhttp:4.2.2'
|
||||
|
||||
1
app/proguard-rules.pro
vendored
1
app/proguard-rules.pro
vendored
@@ -34,6 +34,7 @@
|
||||
-dontwarn okio.**
|
||||
-keep class com.google.**
|
||||
-dontwarn com.google.**
|
||||
-keep class com.google.gson.Gson {*;}
|
||||
|
||||
# Glide
|
||||
-keep public class * implements com.bumptech.glide.module.GlideModule
|
||||
|
||||
@@ -153,6 +153,7 @@
|
||||
<activity android:name=".ui.single.activity.GenericActivity" />
|
||||
<activity android:name=".ui.devapps.DevAppsActivity" />
|
||||
<activity android:name=".ui.details.ReviewsActivity" />
|
||||
<activity android:name=".ui.details.ReadMoreActivity" />
|
||||
|
||||
<provider
|
||||
android:name="androidx.core.content.FileProvider"
|
||||
|
||||
@@ -49,8 +49,6 @@ public class Constants {
|
||||
public static final String TOP_GAME = "TOP_GAME";
|
||||
public static final String TOP_FAMILY = "TOP_FAMILY";
|
||||
|
||||
public static final String RECENT_HISTORY = "RECENT_HISTORY";
|
||||
|
||||
public static final String NOTIFICATION_CHANNEL_ALERT = "NOTIFICATION_CHANNEL_ALERT";
|
||||
public static final String NOTIFICATION_CHANNEL_GENERAL = "NOTIFICATION_CHANNEL_GENERAL";
|
||||
|
||||
@@ -110,14 +108,12 @@ public class Constants {
|
||||
public static final String PREFERENCE_CLEAN_JUNK = "PREFERENCE_CLEAN_JUNK";
|
||||
public static final String PREFERENCE_INSTALLATION_ABANDON_SESSION = "PREFERENCE_INSTALLATION_ABANDON_SESSION";
|
||||
public static final String PREFERENCE_INSTALLATION_PROFILE = "PREFERENCE_INSTALLATION_PROFILE";
|
||||
public static final String PREFERENCE_ACCOUNTS_PASSWORD_SWITCH = "PREFERENCE_ACCOUNTS_PASSWORD_SWITCH";
|
||||
|
||||
public static final String PREFERENCE_INSTALLED_APPS = "PREFERENCE_INSTALLED_APPS";
|
||||
public static final String PREFERENCE_CACHE_DATE = "PREFERENCE_CACHE_DATE";
|
||||
public static final String PREFERENCE_SELF_UPDATE_DATE = "PREFERENCE_SELF_UPDATE_DATE";
|
||||
public static final String PREFERENCE_SELF_UPDATE = "PREFERENCE_SELF_UPDATE";
|
||||
|
||||
|
||||
public static final String FRAGMENT_NAME = "FRAGMENT_NAME";
|
||||
public static final String FRAGMENT_ABOUT = "FRAGMENT_ABOUT";
|
||||
public static final String FRAGMENT_ACCOUNTS = "FRAGMENT_ACCOUNTS";
|
||||
|
||||
@@ -112,7 +112,7 @@ public class FeaturedAppsAdapter extends RecyclerView.Adapter<FeaturedAppsAdapte
|
||||
.asBitmap()
|
||||
.load(cardType == CardType.MODERN
|
||||
? app.getPageBackgroundImage().getUrl()
|
||||
: app.getIconInfo().getUrl())
|
||||
: app.getIconUrl())
|
||||
.placeholder(R.color.colorTransparent)
|
||||
.transition(new BitmapTransitionOptions().crossFade())
|
||||
.transforms(new CenterCrop(), new RoundedCorners(50))
|
||||
|
||||
@@ -28,7 +28,7 @@ import com.aurora.store.util.TextUtil;
|
||||
import com.aurora.store.util.Util;
|
||||
import com.dragons.aurora.playstoreapiv2.AndroidAppDeliveryData;
|
||||
import com.dragons.aurora.playstoreapiv2.AppFileMetadata;
|
||||
import com.dragons.aurora.playstoreapiv2.Split;
|
||||
import com.dragons.aurora.playstoreapiv2.SplitDeliveryData;
|
||||
import com.tonyodev.fetch2.EnqueueAction;
|
||||
import com.tonyodev.fetch2.NetworkType;
|
||||
import com.tonyodev.fetch2.Priority;
|
||||
@@ -73,7 +73,7 @@ public class RequestBuilder {
|
||||
*
|
||||
*/
|
||||
|
||||
public static Request buildSplitRequest(Context context, App app, Split split) {
|
||||
public static Request buildSplitRequest(Context context, App app, SplitDeliveryData split) {
|
||||
Request request = new Request(split.getDownloadUrl(),
|
||||
PathUtil.getLocalSplitPath(context, app, split.getName()));
|
||||
request.setPriority(Priority.HIGH);
|
||||
@@ -99,9 +99,9 @@ public class RequestBuilder {
|
||||
|
||||
public static List<Request> buildSplitRequestList(Context context, App app,
|
||||
AndroidAppDeliveryData deliveryData) {
|
||||
List<Split> splitList = deliveryData.getSplitList();
|
||||
List<SplitDeliveryData> splitList = deliveryData.getSplitDeliveryDataList();
|
||||
List<Request> requestList = new ArrayList<>();
|
||||
for (Split split : splitList) {
|
||||
for (SplitDeliveryData split : splitList) {
|
||||
final Request request = buildSplitRequest(context, app, split);
|
||||
requestList.add(request);
|
||||
}
|
||||
|
||||
@@ -88,7 +88,7 @@ public class CustomAppListIterator implements Iterator {
|
||||
|
||||
private boolean shouldSkip(App app) {
|
||||
return (!filterModel.isPaidApps() && !app.isFree())
|
||||
|| (!filterModel.isAppsWithAds() && app.containsAds())
|
||||
|| (!filterModel.isAppsWithAds() && app.isContainsAds())
|
||||
|| (!filterModel.isGsfDependentApps() && !app.getDependencies().isEmpty())
|
||||
|| (filterModel.getRating() > 0 && app.getRating().getAverage() < filterModel.getRating())
|
||||
|| (filterModel.getDownloads() > 0 && app.getInstalls() < filterModel.getDownloads());
|
||||
|
||||
@@ -22,10 +22,10 @@
|
||||
*/
|
||||
package com.aurora.store.model;
|
||||
|
||||
import android.text.TextUtils;
|
||||
|
||||
import com.aurora.store.R;
|
||||
import com.dragons.aurora.playstoreapiv2.Features;
|
||||
import com.dragons.aurora.playstoreapiv2.GooglePlayAPI;
|
||||
import com.dragons.aurora.playstoreapiv2.ProductDetailsSection;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
@@ -35,183 +35,57 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
public class App implements Comparable<App> {
|
||||
|
||||
private String packageName = "unknown";
|
||||
private String displayName;
|
||||
private String versionName = "unknown";
|
||||
private int versionCode = 0;
|
||||
private int offerType;
|
||||
private String updated;
|
||||
private long size;
|
||||
private long installs;
|
||||
private Rating rating = new Rating();
|
||||
private String categoryIconUrl;
|
||||
@Data
|
||||
public class App {
|
||||
|
||||
private Features features;
|
||||
private ImageSource pageBackgroundImage;
|
||||
private String iconUrl;
|
||||
private String videoUrl;
|
||||
private String changes;
|
||||
private String developerName;
|
||||
private String description;
|
||||
private String shortDescription;
|
||||
private Set<String> permissions = new HashSet<>();
|
||||
private boolean isInstalled;
|
||||
private boolean isFree;
|
||||
private boolean isAd;
|
||||
private List<String> screenshotUrls = new ArrayList<>();
|
||||
private Review userReview;
|
||||
private String categoryId;
|
||||
private String price;
|
||||
private boolean containsAds;
|
||||
private Set<String> dependencies = new HashSet<>();
|
||||
private Map<String, String> offerDetails = new HashMap<>();
|
||||
private boolean system;
|
||||
private boolean inPlayStore;
|
||||
private Map<String, String> relatedLinks = new HashMap<>();
|
||||
private Rating rating = new Rating();
|
||||
private Restriction restriction;
|
||||
private Review userReview;
|
||||
private Set<String> dependencies = new HashSet<>();
|
||||
private Set<String> permissions = new HashSet<>();
|
||||
private String categoryIconUrl;
|
||||
private String categoryId;
|
||||
private String categoryName;
|
||||
private String changes;
|
||||
private String description;
|
||||
private String developerName;
|
||||
private String developerEmail;
|
||||
private String developerAddress;
|
||||
private String developerWebsite;
|
||||
private String displayName;
|
||||
private String downloadString;
|
||||
private String footerHtml;
|
||||
private String iconUrl;
|
||||
private String instantAppLink;
|
||||
private String labeledRating;
|
||||
private String packageName = "unknown";
|
||||
private String price;
|
||||
private String shortDescription;
|
||||
private String testingProgramEmail;
|
||||
private String updated;
|
||||
private String versionName = "unknown";
|
||||
private String videoUrl;
|
||||
private boolean containsAds;
|
||||
private boolean earlyAccess;
|
||||
private boolean inPlayStore;
|
||||
private boolean isAd;
|
||||
private boolean isFree;
|
||||
private boolean isInstalled;
|
||||
private boolean system;
|
||||
private boolean testingProgramAvailable;
|
||||
private boolean testingProgramOptedIn;
|
||||
private String testingProgramEmail;
|
||||
private Restriction restriction;
|
||||
private String labeledRating;
|
||||
private String instantAppLink;
|
||||
|
||||
public String getLabeledRating() {
|
||||
return labeledRating;
|
||||
}
|
||||
|
||||
public void setLabeledRating(String labeledRating) {
|
||||
this.labeledRating = labeledRating;
|
||||
}
|
||||
|
||||
public String getPackageName() {
|
||||
return packageName;
|
||||
}
|
||||
|
||||
public void setPackageName(String packageName) {
|
||||
this.packageName = packageName;
|
||||
}
|
||||
|
||||
public String getDisplayName() {
|
||||
return displayName;
|
||||
}
|
||||
|
||||
public void setDisplayName(String displayName) {
|
||||
this.displayName = displayName;
|
||||
}
|
||||
|
||||
public String getVersionName() {
|
||||
return versionName;
|
||||
}
|
||||
|
||||
public void setVersionName(String versionName) {
|
||||
this.versionName = versionName;
|
||||
}
|
||||
|
||||
public int getVersionCode() {
|
||||
return versionCode;
|
||||
}
|
||||
|
||||
public void setVersionCode(int versionCode) {
|
||||
this.versionCode = versionCode;
|
||||
}
|
||||
|
||||
public int getOfferType() {
|
||||
return offerType;
|
||||
}
|
||||
|
||||
public void setOfferType(int offerType) {
|
||||
this.offerType = offerType;
|
||||
}
|
||||
|
||||
public String getUpdated() {
|
||||
return updated;
|
||||
}
|
||||
|
||||
public void setUpdated(String updated) {
|
||||
this.updated = updated;
|
||||
}
|
||||
|
||||
public long getSize() {
|
||||
return size;
|
||||
}
|
||||
|
||||
public void setSize(long size) {
|
||||
this.size = size;
|
||||
}
|
||||
|
||||
public long getInstalls() {
|
||||
return installs;
|
||||
}
|
||||
|
||||
public void setInstalls(long installs) {
|
||||
this.installs = installs;
|
||||
}
|
||||
|
||||
public Rating getRating() {
|
||||
return rating;
|
||||
}
|
||||
|
||||
public String getCategoryIconUrl() {
|
||||
return categoryIconUrl;
|
||||
}
|
||||
|
||||
public void setCategoryIconUrl(String categoryIconUrl) {
|
||||
this.categoryIconUrl = categoryIconUrl;
|
||||
}
|
||||
|
||||
public ImageSource getPageBackgroundImage() {
|
||||
return pageBackgroundImage;
|
||||
}
|
||||
|
||||
public void setPageBackgroundImage(ImageSource pageBackgroundImage) {
|
||||
this.pageBackgroundImage = pageBackgroundImage;
|
||||
}
|
||||
|
||||
public void setIconUrl(String iconUrl) {
|
||||
this.iconUrl = iconUrl;
|
||||
}
|
||||
|
||||
public ImageSource getIconInfo() {
|
||||
ImageSource imageSource = new ImageSource();
|
||||
if (!TextUtils.isEmpty(iconUrl)) {
|
||||
imageSource.setUrl(iconUrl);
|
||||
}
|
||||
return imageSource;
|
||||
}
|
||||
|
||||
public String getVideoUrl() {
|
||||
return videoUrl;
|
||||
}
|
||||
|
||||
public void setVideoUrl(String videoUrl) {
|
||||
this.videoUrl = videoUrl;
|
||||
}
|
||||
|
||||
public String getChanges() {
|
||||
return changes;
|
||||
}
|
||||
|
||||
public void setChanges(String changes) {
|
||||
this.changes = changes;
|
||||
}
|
||||
|
||||
public String getDeveloperName() {
|
||||
return developerName;
|
||||
}
|
||||
|
||||
public void setDeveloperName(String developerName) {
|
||||
this.developerName = developerName;
|
||||
}
|
||||
|
||||
public String getDescription() {
|
||||
return description;
|
||||
}
|
||||
|
||||
public void setDescription(String description) {
|
||||
this.description = description;
|
||||
}
|
||||
private int offerType;
|
||||
private int versionCode = 0;
|
||||
private long installs;
|
||||
private long size;
|
||||
|
||||
public Set<String> getPermissions() {
|
||||
return permissions;
|
||||
@@ -221,22 +95,6 @@ public class App implements Comparable<App> {
|
||||
this.permissions = new HashSet<>(permissions);
|
||||
}
|
||||
|
||||
public String getShortDescription() {
|
||||
return shortDescription;
|
||||
}
|
||||
|
||||
public void setShortDescription(String shortDescription) {
|
||||
this.shortDescription = shortDescription;
|
||||
}
|
||||
|
||||
public boolean isInstalled() {
|
||||
return isInstalled;
|
||||
}
|
||||
|
||||
public void setInstalled(boolean installed) {
|
||||
isInstalled = installed;
|
||||
}
|
||||
|
||||
public int getInstalledVersionCode() {
|
||||
return versionCode;
|
||||
}
|
||||
@@ -245,152 +103,6 @@ public class App implements Comparable<App> {
|
||||
return versionName;
|
||||
}
|
||||
|
||||
public boolean isFree() {
|
||||
return isFree;
|
||||
}
|
||||
|
||||
public void setFree(boolean free) {
|
||||
isFree = free;
|
||||
}
|
||||
|
||||
public boolean isAd() {
|
||||
return isAd;
|
||||
}
|
||||
|
||||
public void setAd(boolean ad) {
|
||||
isAd = ad;
|
||||
}
|
||||
|
||||
public List<String> getScreenshotUrls() {
|
||||
return screenshotUrls;
|
||||
}
|
||||
|
||||
public Review getUserReview() {
|
||||
return userReview;
|
||||
}
|
||||
|
||||
public void setUserReview(Review userReview) {
|
||||
this.userReview = userReview;
|
||||
}
|
||||
|
||||
public String getCategoryId() {
|
||||
return categoryId;
|
||||
}
|
||||
|
||||
public void setCategoryId(String categoryId) {
|
||||
this.categoryId = categoryId;
|
||||
}
|
||||
|
||||
public String getPrice() {
|
||||
return price;
|
||||
}
|
||||
|
||||
public void setPrice(String price) {
|
||||
this.price = price;
|
||||
}
|
||||
|
||||
public boolean containsAds() {
|
||||
return containsAds;
|
||||
}
|
||||
|
||||
public void setContainsAds(boolean containsAds) {
|
||||
this.containsAds = containsAds;
|
||||
}
|
||||
|
||||
public Set<String> getDependencies() {
|
||||
return dependencies;
|
||||
}
|
||||
|
||||
public Map<String, String> getOfferDetails() {
|
||||
return offerDetails;
|
||||
}
|
||||
|
||||
public boolean isSystem() {
|
||||
return system;
|
||||
}
|
||||
|
||||
public void setSystem(boolean system) {
|
||||
this.system = system;
|
||||
}
|
||||
|
||||
public boolean isInPlayStore() {
|
||||
return inPlayStore;
|
||||
}
|
||||
|
||||
public void setInPlayStore(boolean inPlayStore) {
|
||||
this.inPlayStore = inPlayStore;
|
||||
}
|
||||
|
||||
public Map<String, String> getRelatedLinks() {
|
||||
return relatedLinks;
|
||||
}
|
||||
|
||||
public boolean isEarlyAccess() {
|
||||
return earlyAccess;
|
||||
}
|
||||
|
||||
public void setEarlyAccess(boolean earlyAccess) {
|
||||
this.earlyAccess = earlyAccess;
|
||||
}
|
||||
|
||||
public boolean isTestingProgramAvailable() {
|
||||
return testingProgramAvailable;
|
||||
}
|
||||
|
||||
public void setTestingProgramAvailable(boolean testingProgramAvailable) {
|
||||
this.testingProgramAvailable = testingProgramAvailable;
|
||||
}
|
||||
|
||||
public boolean isTestingProgramOptedIn() {
|
||||
return testingProgramOptedIn;
|
||||
}
|
||||
|
||||
public void setTestingProgramOptedIn(boolean testingProgramOptedIn) {
|
||||
this.testingProgramOptedIn = testingProgramOptedIn;
|
||||
}
|
||||
|
||||
public String getTestingProgramEmail() {
|
||||
return testingProgramEmail;
|
||||
}
|
||||
|
||||
public void setTestingProgramEmail(String testingProgramEmail) {
|
||||
this.testingProgramEmail = testingProgramEmail;
|
||||
}
|
||||
|
||||
public Restriction getRestriction() {
|
||||
return restriction;
|
||||
}
|
||||
|
||||
public void setRestriction(Restriction restriction) {
|
||||
this.restriction = restriction;
|
||||
}
|
||||
|
||||
public String getInstantAppLink() {
|
||||
return instantAppLink;
|
||||
}
|
||||
|
||||
public void setInstantAppLink(String instantAppLink) {
|
||||
this.instantAppLink = instantAppLink;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int compareTo(App o) {
|
||||
return getDisplayName().compareToIgnoreCase(o.getDisplayName());
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (!(obj instanceof App))
|
||||
return false;
|
||||
|
||||
return getPackageName().equals(((App) obj).getPackageName());
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return (getPackageName().isEmpty()) ? 0 : getPackageName().hashCode();
|
||||
}
|
||||
|
||||
public enum Restriction {
|
||||
|
||||
GENERIC(-1),
|
||||
|
||||
@@ -34,8 +34,8 @@ import com.dragons.aurora.playstoreapiv2.DetailsResponse;
|
||||
import com.dragons.aurora.playstoreapiv2.DocV2;
|
||||
import com.dragons.aurora.playstoreapiv2.GooglePlayAPI;
|
||||
import com.dragons.aurora.playstoreapiv2.Image;
|
||||
import com.dragons.aurora.playstoreapiv2.ProductDetailsSection;
|
||||
import com.dragons.aurora.playstoreapiv2.RelatedLink;
|
||||
import com.dragons.aurora.playstoreapiv2.Unknown25Item;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.regex.Matcher;
|
||||
@@ -45,6 +45,8 @@ public class AppBuilder {
|
||||
|
||||
static public App build(DetailsResponse detailsResponse) {
|
||||
App app = build(detailsResponse.getDocV2());
|
||||
app.setFooterHtml(detailsResponse.hasFooterHtml() ? detailsResponse.getFooterHtml() : "");
|
||||
app.setFeatures(detailsResponse.getFeatures());
|
||||
if (TextUtils.isEmpty(app.getCategoryIconUrl()) || app.getRelatedLinks().isEmpty()) {
|
||||
walkBadges(app, detailsResponse.getBadgeList());
|
||||
}
|
||||
@@ -73,9 +75,11 @@ public class AppBuilder {
|
||||
app.setPackageName(appDetails.getPackageName());
|
||||
app.setVersionName(appDetails.getVersionString());
|
||||
app.setVersionCode(appDetails.getVersionCode());
|
||||
app.setCategoryName(appDetails.getCategoryName());
|
||||
app.setDeveloperName(appDetails.getDeveloperName());
|
||||
app.setSize(appDetails.getInstallationSize());
|
||||
app.setInstalls(getInstallsNum(appDetails.getNumDownloads()));
|
||||
app.setDownloadString(appDetails.getNumDownloads());
|
||||
app.setUpdated(appDetails.getUploadDate());
|
||||
app.setChanges(appDetails.getRecentChangesHtml());
|
||||
app.setPermissions(appDetails.getPermissionList());
|
||||
@@ -85,6 +89,10 @@ public class AppBuilder {
|
||||
app.setTestingProgramAvailable(appDetails.hasTestingProgramInfo());
|
||||
app.setLabeledRating(details.getRelatedLinks().getRated().getLabel());
|
||||
app.setAd(details.getDetailsUrl().contains("nocache_isad=1"));
|
||||
app.setDeveloperName(appDetails.getDeveloperName());
|
||||
app.setDeveloperEmail(appDetails.getDeveloperEmail());
|
||||
app.setDeveloperAddress(appDetails.getDeveloperAddress());
|
||||
app.setDeveloperWebsite(appDetails.getDeveloperWebsite());
|
||||
if (appDetails.getHasInstantLink() && !TextUtils.isEmpty(appDetails.getInstantLink())) {
|
||||
app.setInstantAppLink(appDetails.getInstantLink());
|
||||
}
|
||||
@@ -94,11 +102,12 @@ public class AppBuilder {
|
||||
}
|
||||
fillImages(app, details.getImageList());
|
||||
fillDependencies(app, appDetails);
|
||||
fillOfferDetails(app, details);
|
||||
return app;
|
||||
}
|
||||
|
||||
static private long getInstallsNum(String installsRaw) {
|
||||
Matcher matcher = Pattern.compile("[\\d]+").matcher(installsRaw.replaceAll("[,\\.\\s]+", ""));
|
||||
Matcher matcher = Pattern.compile("[\\d]+").matcher(installsRaw.replaceAll("[,.\\s]+", ""));
|
||||
if (matcher.find()) {
|
||||
return Util.parseLong(matcher.group(0), 0);
|
||||
}
|
||||
@@ -125,14 +134,14 @@ public class AppBuilder {
|
||||
}
|
||||
|
||||
static private void fillOfferDetails(App app, DocV2 details) {
|
||||
if (!details.hasUnknown25() || details.getUnknown25().getItemCount() == 0) {
|
||||
if (!details.hasUnknown25() || details.getUnknown25().getSectionCount() == 0) {
|
||||
return;
|
||||
}
|
||||
for (Unknown25Item item : details.getUnknown25().getItemList()) {
|
||||
for (ProductDetailsSection item : details.getUnknown25().getSectionList()) {
|
||||
if (!item.hasContainer()) {
|
||||
continue;
|
||||
}
|
||||
app.getOfferDetails().put(item.getLabel(), item.getContainer().getValue());
|
||||
app.getOfferDetails().put(item.getLabel(), item.getContainer().getDescription());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -135,7 +135,7 @@ public class GeneralNotification extends NotificationBase {
|
||||
if (NotificationUtil.isNotificationEnabled(context)) {
|
||||
Glide.with(context.getApplicationContext())
|
||||
.asBitmap()
|
||||
.load(app.getIconInfo().getUrl())
|
||||
.load(app.getIconUrl())
|
||||
.into(new SimpleTarget<Bitmap>() {
|
||||
@Override
|
||||
public void onResourceReady(@NotNull Bitmap bitmap, Transition<? super Bitmap> transition) {
|
||||
|
||||
@@ -103,7 +103,7 @@ public class BlackListedAppSection extends Section {
|
||||
|
||||
GlideApp
|
||||
.with(context)
|
||||
.load(app.getIconInfo().getUrl())
|
||||
.load(app.getIconUrl())
|
||||
.transforms(new CenterCrop(), new RoundedCorners(30))
|
||||
.into(contentHolder.img);
|
||||
|
||||
|
||||
@@ -37,7 +37,7 @@ public class EndlessResultSection extends InstallAppSection {
|
||||
if (PackageUtil.isInstalled(context, app.getPackageName()))
|
||||
Version.add(context.getString(R.string.action_installed));
|
||||
Extra.add(app.getPrice());
|
||||
Extra.add(context.getString(app.containsAds() ? R.string.list_app_has_ads : R.string.list_app_no_ads));
|
||||
Extra.add(context.getString(app.isContainsAds() ? R.string.list_app_has_ads : R.string.list_app_no_ads));
|
||||
Extra.add(context.getString(app.getDependencies().isEmpty() ? R.string.list_app_independent_from_gsf : R.string.list_app_depends_on_gsf));
|
||||
if (!StringUtils.isEmpty(app.getUpdated()))
|
||||
Extra.add(app.getUpdated());
|
||||
|
||||
@@ -111,7 +111,7 @@ public class FavouriteAppSection extends Section {
|
||||
|
||||
GlideApp
|
||||
.with(context)
|
||||
.load(app.getIconInfo().getUrl())
|
||||
.load(app.getIconUrl())
|
||||
.transforms(new CenterCrop(), new RoundedCorners(30))
|
||||
.into(contentHolder.img);
|
||||
|
||||
|
||||
@@ -114,7 +114,7 @@ public class InstallAppSection extends Section {
|
||||
|
||||
GlideApp
|
||||
.with(context)
|
||||
.load(app.getIconInfo().getUrl())
|
||||
.load(app.getIconUrl())
|
||||
.transition(new DrawableTransitionOptions().crossFade())
|
||||
.transforms(new CenterCrop(), new RoundedCorners(30))
|
||||
.into(contentHolder.AppIcon);
|
||||
|
||||
@@ -37,7 +37,7 @@ public class SearchResultSection extends InstallAppSection {
|
||||
if (PackageUtil.isInstalled(context, app.getPackageName()))
|
||||
Version.add(context.getString(R.string.action_installed));
|
||||
Extra.add(app.getPrice());
|
||||
Extra.add(context.getString(app.containsAds() ? R.string.list_app_has_ads : R.string.list_app_no_ads));
|
||||
Extra.add(context.getString(app.isContainsAds() ? R.string.list_app_has_ads : R.string.list_app_no_ads));
|
||||
Extra.add(context.getString(app.getDependencies().isEmpty() ? R.string.list_app_independent_from_gsf : R.string.list_app_depends_on_gsf));
|
||||
if (!StringUtils.isEmpty(app.getUpdated()))
|
||||
Extra.add(app.getUpdated());
|
||||
|
||||
@@ -116,7 +116,7 @@ public class UpdateAppSection extends Section {
|
||||
: Html.fromHtml(app.getChanges()).toString());
|
||||
GlideApp
|
||||
.with(context)
|
||||
.load(app.getIconInfo().getUrl())
|
||||
.load(app.getIconUrl())
|
||||
.transition(new DrawableTransitionOptions().crossFade())
|
||||
.transforms(new CenterCrop(), new RoundedCorners(30))
|
||||
.into(contentHolder.imgIcon);
|
||||
|
||||
@@ -1,78 +0,0 @@
|
||||
/*
|
||||
* Aurora Store
|
||||
* Copyright (C) 2019, Rahul Kumar Patel <whyorean@gmail.com>
|
||||
*
|
||||
* Aurora Store is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* Aurora Store is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with Aurora Store. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*
|
||||
*/
|
||||
|
||||
package com.aurora.store.sheet;
|
||||
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.text.Html;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.aurora.store.R;
|
||||
import com.aurora.store.model.App;
|
||||
import com.google.android.material.bottomsheet.BottomSheetBehavior;
|
||||
import com.google.android.material.bottomsheet.BottomSheetDialogFragment;
|
||||
|
||||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
|
||||
public class MoreInfoSheet extends BottomSheetDialogFragment {
|
||||
|
||||
@BindView(R.id.content_readMore)
|
||||
TextView contentReadMore;
|
||||
|
||||
private App app;
|
||||
|
||||
public MoreInfoSheet() {
|
||||
}
|
||||
|
||||
public void setApp(App app) {
|
||||
this.app = app;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStart() {
|
||||
super.onStart();
|
||||
getDialog().getBehavior().setState(BottomSheetBehavior.STATE_EXPANDED);
|
||||
}
|
||||
|
||||
@Override
|
||||
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
||||
View view = inflater.inflate(R.layout.sheet_read_more, container, false);
|
||||
ButterKnife.bind(this, view);
|
||||
view.setFitsSystemWindows(true);
|
||||
return view;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
|
||||
super.onViewCreated(view, savedInstanceState);
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N)
|
||||
contentReadMore.setText(Html.fromHtml(app.getDescription(), Html.FROM_HTML_MODE_LEGACY).toString());
|
||||
else
|
||||
contentReadMore.setText(Html.fromHtml(app.getDescription()).toString());
|
||||
}
|
||||
}
|
||||
@@ -24,6 +24,7 @@ import android.content.Context;
|
||||
|
||||
import com.aurora.store.model.App;
|
||||
import com.aurora.store.model.AppBuilder;
|
||||
import com.aurora.store.util.Log;
|
||||
import com.aurora.store.util.PackageUtil;
|
||||
import com.dragons.aurora.playstoreapiv2.DetailsResponse;
|
||||
import com.dragons.aurora.playstoreapiv2.GooglePlayAPI;
|
||||
@@ -40,6 +41,7 @@ public class AppDetailTask {
|
||||
|
||||
public App getInfo(String packageName) throws Exception {
|
||||
DetailsResponse response = api.details(packageName);
|
||||
Log.writeToFile(context,response);
|
||||
App app = AppBuilder.build(response);
|
||||
if (PackageUtil.isInstalled(context, app))
|
||||
app.setInstalled(true);
|
||||
|
||||
@@ -53,6 +53,10 @@ public class AuthTask extends BaseTask {
|
||||
if (image.getImageType() == GooglePlayAPI.IMAGE_TYPE_APP_ICON) {
|
||||
PrefUtil.putString(context, Accountant.PROFILE_AVATAR, image.getImageUrl());
|
||||
}
|
||||
|
||||
if (image.getImageType() == GooglePlayAPI.IMAGE_TYPE_GOOGLE_PLUS_BACKGROUND) {
|
||||
PrefUtil.putString(context, Accountant.PROFILE_BACKGROUND, image.getImageUrl());
|
||||
}
|
||||
}
|
||||
return !loginInfo.isEmpty();
|
||||
}
|
||||
|
||||
@@ -64,7 +64,7 @@ public class LiveUpdate {
|
||||
|
||||
//Add <PackageName,DisplayName> and <PackageName,IconURL> to PseudoMaps
|
||||
PackageUtil.addToPseudoPackageMap(context, app.getPackageName(), app.getDisplayName());
|
||||
PackageUtil.addToPseudoURLMap(context, app.getPackageName(), app.getIconInfo().getUrl());
|
||||
PackageUtil.addToPseudoURLMap(context, app.getPackageName(), app.getIconUrl());
|
||||
}
|
||||
|
||||
private FetchListener getFetchListener() {
|
||||
|
||||
@@ -20,7 +20,9 @@
|
||||
|
||||
package com.aurora.store.ui.accounts;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuItem;
|
||||
|
||||
import androidx.appcompat.app.ActionBar;
|
||||
@@ -29,7 +31,9 @@ import androidx.fragment.app.FragmentTransaction;
|
||||
|
||||
import com.aurora.store.R;
|
||||
import com.aurora.store.ui.accounts.fragment.AccountsFragment;
|
||||
import com.aurora.store.ui.preference.SettingsActivity;
|
||||
import com.aurora.store.ui.single.activity.BaseActivity;
|
||||
import com.aurora.store.util.ViewUtil;
|
||||
|
||||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
@@ -45,19 +49,36 @@ public class AccountsActivity extends BaseActivity {
|
||||
setContentView(R.layout.activity_accounts);
|
||||
ButterKnife.bind(this);
|
||||
setupActionbar();
|
||||
init();
|
||||
|
||||
getSupportFragmentManager()
|
||||
.beginTransaction()
|
||||
.replace(R.id.content, new AccountsFragment())
|
||||
.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN)
|
||||
.commitAllowingStateLoss();
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(final MenuItem menuItem) {
|
||||
if (menuItem.getItemId() == android.R.id.home) {
|
||||
onBackPressed();
|
||||
return true;
|
||||
switch (menuItem.getItemId()) {
|
||||
case android.R.id.home: {
|
||||
onBackPressed();
|
||||
return true;
|
||||
}
|
||||
case R.id.action_setting: {
|
||||
startActivity(new Intent(this, SettingsActivity.class), ViewUtil.getEmptyActivityBundle(this));
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onCreateOptionsMenu(final Menu menu) {
|
||||
getMenuInflater().inflate(R.menu.menu_intro, menu);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onResume() {
|
||||
super.onResume();
|
||||
@@ -73,13 +94,4 @@ public class AccountsActivity extends BaseActivity {
|
||||
actionBar.setTitle(getString(R.string.menu_account));
|
||||
}
|
||||
}
|
||||
|
||||
private void init() {
|
||||
AccountsFragment fragment = new AccountsFragment();
|
||||
getSupportFragmentManager()
|
||||
.beginTransaction()
|
||||
.replace(R.id.content, fragment)
|
||||
.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN)
|
||||
.commitAllowingStateLoss();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -42,13 +42,13 @@ import androidx.fragment.app.Fragment;
|
||||
import com.aurora.store.GlideApp;
|
||||
import com.aurora.store.R;
|
||||
import com.aurora.store.api.PlayStoreApiAuthenticator;
|
||||
import com.aurora.store.ui.preference.SettingsActivity;
|
||||
import com.aurora.store.ui.single.activity.GoogleLoginActivity;
|
||||
import com.aurora.store.util.Accountant;
|
||||
import com.aurora.store.util.ContextUtil;
|
||||
import com.aurora.store.util.Log;
|
||||
import com.aurora.store.util.NetworkUtil;
|
||||
import com.aurora.store.util.PrefUtil;
|
||||
import com.aurora.store.util.Util;
|
||||
import com.dragons.aurora.playstoreapiv2.GooglePlayAPI;
|
||||
import com.dragons.aurora.playstoreapiv2.Image;
|
||||
import com.dragons.aurora.playstoreapiv2.UserProfile;
|
||||
@@ -130,6 +130,14 @@ public class AccountsFragment extends Fragment {
|
||||
return view;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
if (Accountant.isLoggedIn(context)) {
|
||||
Util.validateApi(context);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroy() {
|
||||
disposable.clear();
|
||||
@@ -139,8 +147,6 @@ public class AccountsFragment extends Fragment {
|
||||
@OnClick(R.id.btn_positive)
|
||||
public void openLoginActivity() {
|
||||
context.startActivity(new Intent(context, GoogleLoginActivity.class));
|
||||
if (getActivity() instanceof SettingsActivity)
|
||||
getActivity().finish();
|
||||
}
|
||||
|
||||
@OnClick(R.id.btn_negative)
|
||||
|
||||
@@ -244,7 +244,7 @@ public class DetailsActivity extends BaseActivity {
|
||||
private void drawBasic() {
|
||||
GlideApp.with(this)
|
||||
.asBitmap()
|
||||
.load(app.getIconInfo().getUrl())
|
||||
.load(app.getIconUrl())
|
||||
.transition(new BitmapTransitionOptions().crossFade())
|
||||
.transforms(new CenterCrop(), new RoundedCorners(50))
|
||||
.into(icon);
|
||||
|
||||
@@ -0,0 +1,131 @@
|
||||
/*
|
||||
* Aurora Store
|
||||
* Copyright (C) 2019, Rahul Kumar Patel <whyorean@gmail.com>
|
||||
*
|
||||
* Aurora Store is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* Aurora Store is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with Aurora Store. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*
|
||||
*/
|
||||
|
||||
package com.aurora.store.ui.details;
|
||||
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.text.Html;
|
||||
import android.view.MenuItem;
|
||||
import android.widget.LinearLayout;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.app.ActionBar;
|
||||
import androidx.appcompat.widget.AppCompatTextView;
|
||||
import androidx.appcompat.widget.Toolbar;
|
||||
|
||||
import com.aurora.store.R;
|
||||
import com.aurora.store.model.App;
|
||||
import com.aurora.store.ui.single.activity.BaseActivity;
|
||||
import com.aurora.store.ui.view.MoreLayout;
|
||||
import com.aurora.store.util.TextUtil;
|
||||
|
||||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
|
||||
public class ReadMoreActivity extends BaseActivity {
|
||||
|
||||
public static App app;
|
||||
@BindView(R.id.toolbar)
|
||||
Toolbar toolbar;
|
||||
@BindView(R.id.txt_changelog)
|
||||
AppCompatTextView txtChangelog;
|
||||
@BindView(R.id.content_readMore)
|
||||
AppCompatTextView contentReadMore;
|
||||
@BindView(R.id.layout_more)
|
||||
LinearLayout layoutMore;
|
||||
|
||||
@Override
|
||||
protected void onCreate(@Nullable Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_read_more);
|
||||
ButterKnife.bind(this);
|
||||
if (app == null) {
|
||||
finish();
|
||||
return;
|
||||
}
|
||||
setupActionBar();
|
||||
setupMore();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(final MenuItem menuItem) {
|
||||
switch (menuItem.getItemId()) {
|
||||
case android.R.id.home:
|
||||
onBackPressed();
|
||||
return true;
|
||||
}
|
||||
return super.onOptionsItemSelected(menuItem);
|
||||
}
|
||||
|
||||
private void setupActionBar() {
|
||||
setSupportActionBar(toolbar);
|
||||
ActionBar actionBar = getSupportActionBar();
|
||||
if (actionBar != null) {
|
||||
actionBar.setDisplayHomeAsUpEnabled(true);
|
||||
actionBar.setDisplayShowTitleEnabled(true);
|
||||
actionBar.setTitle(app.getDisplayName());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onDestroy() {
|
||||
app = null;
|
||||
super.onDestroy();
|
||||
}
|
||||
|
||||
private void setupMore() {
|
||||
|
||||
String changes = app.getChanges();
|
||||
|
||||
if (TextUtil.isEmpty(changes))
|
||||
txtChangelog.setText(getString(R.string.details_no_changes));
|
||||
else
|
||||
txtChangelog.setText(Html.fromHtml(changes).toString());
|
||||
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N)
|
||||
contentReadMore.setText(Html.fromHtml(app.getDescription(), Html.FROM_HTML_MODE_LEGACY).toString());
|
||||
else
|
||||
contentReadMore.setText(Html.fromHtml(app.getDescription()));
|
||||
|
||||
MoreLayout m1 = new MoreLayout(this);
|
||||
m1.setLabel(getString(R.string.details_more_version));
|
||||
m1.setValue(app.getVersionName());
|
||||
|
||||
MoreLayout m2 = new MoreLayout(this);
|
||||
m2.setLabel(getString(R.string.details_more_updated));
|
||||
m2.setValue(app.getUpdated());
|
||||
|
||||
MoreLayout m3 = new MoreLayout(this);
|
||||
m3.setLabel(getString(R.string.menu_downloads));
|
||||
m3.setValue(app.getDownloadString());
|
||||
|
||||
layoutMore.addView(m1);
|
||||
layoutMore.addView(m2);
|
||||
layoutMore.addView(m3);
|
||||
|
||||
for (String key : app.getOfferDetails().keySet()) {
|
||||
MoreLayout moreLayout = new MoreLayout(this);
|
||||
moreLayout.setLabel(key);
|
||||
moreLayout.setValue(app.getOfferDetails().get(key));
|
||||
layoutMore.addView(moreLayout);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -23,7 +23,6 @@ package com.aurora.store.ui.details.views;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.net.Uri;
|
||||
import android.transition.TransitionManager;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.TextView;
|
||||
@@ -80,8 +79,11 @@ public abstract class AbstractDetails {
|
||||
|
||||
protected void setText(int viewId, String text) {
|
||||
TextView textView = activity.findViewById(viewId);
|
||||
if (null != textView) {
|
||||
textView.setText(text);
|
||||
if (textView != null) {
|
||||
if (text.isEmpty())
|
||||
textView.setVisibility(View.GONE);
|
||||
else
|
||||
textView.setText(text);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -94,7 +96,6 @@ public abstract class AbstractDetails {
|
||||
}
|
||||
|
||||
protected void show(ViewGroup viewGroup, int... viewIds) {
|
||||
TransitionManager.beginDelayedTransition(viewGroup);
|
||||
for (int viewId : viewIds) {
|
||||
activity.findViewById(viewId).setVisibility(View.VISIBLE);
|
||||
}
|
||||
|
||||
@@ -302,7 +302,7 @@ public class ActionButton extends AbstractDetails {
|
||||
|
||||
//Add <PackageName,DisplayName> and <PackageName,IconURL> to PseudoMaps
|
||||
PackageUtil.addToPseudoPackageMap(context, app.getPackageName(), app.getDisplayName());
|
||||
PackageUtil.addToPseudoURLMap(context, app.getPackageName(), app.getIconInfo().getUrl());
|
||||
PackageUtil.addToPseudoURLMap(context, app.getPackageName(), app.getIconUrl());
|
||||
}
|
||||
|
||||
private FetchListener getFetchListener() {
|
||||
|
||||
@@ -20,48 +20,37 @@
|
||||
|
||||
package com.aurora.store.ui.details.views;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.content.pm.PackageInfo;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.content.res.ColorStateList;
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.Color;
|
||||
import android.text.Html;
|
||||
import android.text.TextUtils;
|
||||
import android.text.format.Formatter;
|
||||
import android.text.util.Linkify;
|
||||
import android.view.View;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.RelativeLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.core.graphics.ColorUtils;
|
||||
import androidx.palette.graphics.Palette;
|
||||
import androidx.core.text.HtmlCompat;
|
||||
|
||||
import com.aurora.store.GlideApp;
|
||||
import com.aurora.store.R;
|
||||
import com.aurora.store.manager.CategoryManager;
|
||||
import com.aurora.store.model.App;
|
||||
import com.aurora.store.sheet.MoreInfoSheet;
|
||||
import com.aurora.store.ui.details.DetailsActivity;
|
||||
import com.aurora.store.util.ColorUtil;
|
||||
import com.aurora.store.util.Log;
|
||||
import com.aurora.store.ui.details.ReadMoreActivity;
|
||||
import com.aurora.store.ui.view.FeatureChip;
|
||||
import com.aurora.store.util.TextUtil;
|
||||
import com.aurora.store.util.ThemeUtil;
|
||||
import com.aurora.store.util.Util;
|
||||
import com.aurora.store.util.ViewUtil;
|
||||
import com.bumptech.glide.load.DataSource;
|
||||
import com.bumptech.glide.load.engine.GlideException;
|
||||
import com.bumptech.glide.load.resource.bitmap.BitmapTransitionOptions;
|
||||
import com.bumptech.glide.load.resource.bitmap.CenterCrop;
|
||||
import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
|
||||
import com.bumptech.glide.request.RequestListener;
|
||||
import com.bumptech.glide.request.target.Target;
|
||||
import com.dragons.aurora.playstoreapiv2.Feature;
|
||||
import com.google.android.material.button.MaterialButton;
|
||||
import com.google.android.material.chip.Chip;
|
||||
import com.google.android.material.chip.ChipGroup;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -85,10 +74,10 @@ public class GeneralDetails extends AbstractDetails {
|
||||
RelativeLayout moreLayout;
|
||||
@BindView(R.id.versionString)
|
||||
TextView app_version;
|
||||
@BindView(R.id.txt_new)
|
||||
TextView txtNew;
|
||||
@BindView(R.id.chip_group_info)
|
||||
ChipGroup chipGroupInfo;
|
||||
@BindView(R.id.chip_group_features)
|
||||
ChipGroup chipGroupFeatures;
|
||||
@BindView(R.id.txt_updated)
|
||||
Chip txtUpdated;
|
||||
@BindView(R.id.txt_google_dependencies)
|
||||
@@ -101,8 +90,14 @@ public class GeneralDetails extends AbstractDetails {
|
||||
Chip txtSize;
|
||||
@BindView(R.id.category)
|
||||
Chip category;
|
||||
@BindView(R.id.developer_layout)
|
||||
LinearLayout developerLayout;
|
||||
@BindView(R.id.txt_footer)
|
||||
TextView txtFooter;
|
||||
@BindView(R.id.txt_dev_web_desc)
|
||||
TextView txtDevWeb;
|
||||
@BindView(R.id.txt_dev_email_desc)
|
||||
TextView txtDevEmail;
|
||||
@BindView(R.id.txt_dev_addr_desc)
|
||||
TextView txtDevAddr;
|
||||
@BindView(R.id.btn_positive)
|
||||
MaterialButton btnPositive;
|
||||
@BindView(R.id.btn_negative)
|
||||
@@ -118,7 +113,6 @@ public class GeneralDetails extends AbstractDetails {
|
||||
drawAppBadge();
|
||||
if (app.isInPlayStore()) {
|
||||
drawGeneralDetails();
|
||||
drawDescription();
|
||||
setupReadMore();
|
||||
}
|
||||
}
|
||||
@@ -126,21 +120,9 @@ public class GeneralDetails extends AbstractDetails {
|
||||
private void drawAppBadge() {
|
||||
GlideApp.with(context)
|
||||
.asBitmap()
|
||||
.load(app.getIconInfo().getUrl())
|
||||
.load(app.getIconUrl())
|
||||
.transition(new BitmapTransitionOptions().crossFade())
|
||||
.transforms(new CenterCrop(), new RoundedCorners(50))
|
||||
.listener(new RequestListener<Bitmap>() {
|
||||
@Override
|
||||
public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Bitmap> target, boolean isFirstResource) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onResourceReady(Bitmap resource, Object model, Target<Bitmap> target, DataSource dataSource, boolean isFirstResource) {
|
||||
getPalette(resource);
|
||||
return false;
|
||||
}
|
||||
})
|
||||
.into(appIcon);
|
||||
setText(R.id.displayName, app.getDisplayName());
|
||||
setText(R.id.packageName, app.getPackageName());
|
||||
@@ -149,118 +131,45 @@ public class GeneralDetails extends AbstractDetails {
|
||||
drawVersion();
|
||||
}
|
||||
|
||||
private void getPalette(Bitmap bitmap) {
|
||||
Palette.from(bitmap).generate(palette -> {
|
||||
if (palette != null)
|
||||
paintEmAll(palette);
|
||||
});
|
||||
}
|
||||
|
||||
private void paintEmAll(Palette palette) {
|
||||
Palette.Swatch swatch = palette.getDarkVibrantSwatch();
|
||||
int colorPrimary = Color.GRAY;
|
||||
int colorPrimaryText = Color.BLACK;
|
||||
|
||||
//Make sure we get a fallback swatch if DarkVibrantSwatch is not available
|
||||
if (swatch == null)
|
||||
swatch = palette.getVibrantSwatch();
|
||||
|
||||
//Make sure we get another fallback swatch if VibrantSwatch is not available
|
||||
if (swatch == null)
|
||||
swatch = palette.getDominantSwatch();
|
||||
|
||||
if (swatch != null) {
|
||||
colorPrimary = swatch.getRgb();
|
||||
colorPrimaryText = ColorUtil.manipulateColor(colorPrimary, 0.3f);
|
||||
}
|
||||
|
||||
if (ColorUtil.isColorLight(colorPrimary))
|
||||
btnPositive.setTextColor(Color.BLACK);
|
||||
else
|
||||
btnPositive.setTextColor(Color.WHITE);
|
||||
|
||||
btnPositive.setBackgroundColor(colorPrimary);
|
||||
btnPositive.setStrokeColor(ColorStateList.valueOf(colorPrimary));
|
||||
|
||||
if (ThemeUtil.isLightTheme(context)) {
|
||||
btnNegative.setTextColor(colorPrimaryText);
|
||||
txtDevName.setTextColor(colorPrimaryText);
|
||||
txtNew.setTextColor(colorPrimaryText);
|
||||
txtDescShort.setTextColor(colorPrimaryText);
|
||||
txtDescShort.setBackgroundTintList(ColorStateList.valueOf(ColorUtils.setAlphaComponent(colorPrimary, 60)));
|
||||
}
|
||||
}
|
||||
|
||||
private void drawGeneralDetails() {
|
||||
if (context != null) {
|
||||
if (app.isEarlyAccess()) {
|
||||
setText(R.id.rating, R.string.early_access);
|
||||
} else {
|
||||
setText(R.id.rating, R.string.details_rating, app.getRating().getAverage());
|
||||
}
|
||||
|
||||
final String category = new CategoryManager(context).getCategoryName(app.getCategoryId());
|
||||
if (TextUtil.isEmpty(category))
|
||||
hide(R.id.category);
|
||||
else
|
||||
setText(R.id.category, new CategoryManager(context).getCategoryName(app.getCategoryId()));
|
||||
|
||||
if (app.getPrice() != null && app.getPrice().isEmpty())
|
||||
setText(R.id.price, R.string.category_appFree);
|
||||
else
|
||||
setText(R.id.price, app.getPrice());
|
||||
setText(R.id.contains_ads, app.containsAds() ? R.string.details_contains_ads : R.string.details_no_ads);
|
||||
|
||||
txtUpdated.setText(app.getUpdated());
|
||||
txtDependencies.setText(app.getDependencies().isEmpty()
|
||||
? R.string.list_app_independent_from_gsf
|
||||
: R.string.list_app_depends_on_gsf);
|
||||
txtRating.setText(app.getLabeledRating());
|
||||
txtInstalls.setText(app.getInstalls() <= 100 ? "Unknown" : Util.addDiPrefix(app.getInstalls()));
|
||||
txtSize.setText(app.getSize() == 0 ? "Unknown" : Formatter.formatShortFileSize(context, app.getSize()));
|
||||
setText(R.id.app_desc_short, TextUtil.emptyIfNull(app.getShortDescription()));
|
||||
|
||||
drawOfferDetails();
|
||||
drawChanges();
|
||||
|
||||
|
||||
show(rootLayout, R.id.chip_group_info, R.id.app_desc_short);
|
||||
if (app.isEarlyAccess()) {
|
||||
setText(R.id.rating, R.string.early_access);
|
||||
} else {
|
||||
setText(R.id.rating, R.string.details_rating, app.getRating().getAverage());
|
||||
}
|
||||
}
|
||||
|
||||
private void drawChanges() {
|
||||
String changes = app.getChanges();
|
||||
if (TextUtil.isEmpty(changes))
|
||||
setText(R.id.txt_changelog, context.getString(R.string.details_no_changes));
|
||||
setText(R.id.category, app.getCategoryName());
|
||||
|
||||
if (app.getPrice() != null && app.getPrice().isEmpty())
|
||||
setText(R.id.price, R.string.category_appFree);
|
||||
else
|
||||
setText(R.id.txt_changelog, Html.fromHtml(changes).toString());
|
||||
show(rootLayout, R.id.changes_container);
|
||||
setText(R.id.price, app.getPrice());
|
||||
setText(R.id.contains_ads, app.isContainsAds() ? R.string.details_contains_ads : R.string.details_no_ads);
|
||||
|
||||
txtUpdated.setText(app.getUpdated());
|
||||
txtDependencies.setText(app.getDependencies().isEmpty()
|
||||
? R.string.list_app_independent_from_gsf
|
||||
: R.string.list_app_depends_on_gsf);
|
||||
txtRating.setText(app.getLabeledRating());
|
||||
txtInstalls.setText(app.getInstalls() <= 100 ? "Unknown" : Util.addDiPrefix(app.getInstalls()));
|
||||
txtSize.setText(app.getSize() == 0 ? "Unknown" : Formatter.formatShortFileSize(context, app.getSize()));
|
||||
|
||||
setText(R.id.app_desc_short, TextUtil.emptyIfNull(app.getShortDescription()));
|
||||
setText(R.id.txt_footer, TextUtil.emptyIfNull(app.getFooterHtml()));
|
||||
|
||||
txtDevWeb.setText(app.getDeveloperWebsite());
|
||||
txtDevEmail.setText(app.getDeveloperEmail());
|
||||
txtDevAddr.setText(HtmlCompat.fromHtml(app.getDeveloperAddress(), HtmlCompat.FROM_HTML_MODE_LEGACY));
|
||||
|
||||
drawOfferDetails();
|
||||
drawFeatures();
|
||||
show(rootLayout, R.id.developer_container);
|
||||
show(rootLayout, R.id.chip_group_info, R.id.app_desc_short);
|
||||
}
|
||||
|
||||
private void drawOfferDetails() {
|
||||
List<String> keyList = new ArrayList<>(app.getOfferDetails().keySet());
|
||||
Collections.reverse(keyList);
|
||||
for (String key : keyList) {
|
||||
addOfferItem(key, app.getOfferDetails().get(key));
|
||||
}
|
||||
}
|
||||
|
||||
private void addOfferItem(String key, String value) {
|
||||
if (null == value) {
|
||||
return;
|
||||
}
|
||||
TextView itemView = new TextView(context);
|
||||
try {
|
||||
itemView.setAutoLinkMask(Linkify.ALL);
|
||||
itemView.setText(context.getString(R.string.two_items, key, Html.fromHtml(value)));
|
||||
} catch (RuntimeException e) {
|
||||
Log.w("System WebView missing: %s", e.getMessage());
|
||||
itemView.setAutoLinkMask(0);
|
||||
itemView.setText(context.getString(R.string.two_items, key, Html.fromHtml(value)));
|
||||
}
|
||||
itemView.setTextColor(ViewUtil.getStyledAttribute(context, android.R.attr.textColorPrimary));
|
||||
developerLayout.addView(itemView);
|
||||
ViewUtil.setVisibility(developerLayout, true);
|
||||
}
|
||||
|
||||
private void drawVersion() {
|
||||
@@ -310,21 +219,27 @@ public class GeneralDetails extends AbstractDetails {
|
||||
}
|
||||
}
|
||||
|
||||
private void drawDescription() {
|
||||
if (context != null) {
|
||||
if (TextUtils.isEmpty(app.getDescription())) {
|
||||
hide(R.id.more_layout);
|
||||
} else {
|
||||
show(rootLayout, R.id.more_layout);
|
||||
}
|
||||
private void drawFeatures() {
|
||||
if (app.getFeatures() == null)
|
||||
return;
|
||||
for (Feature feature : app.getFeatures().getFeaturePresenceList()) {
|
||||
FeatureChip chip = new FeatureChip(context);
|
||||
chip.setLabel(StringUtils.capitalize(feature.getLabel()));
|
||||
chipGroupFeatures.addView(chip);
|
||||
}
|
||||
show(R.id.chip_group_features);
|
||||
}
|
||||
|
||||
private void setupReadMore() {
|
||||
moreLayout.setOnClickListener(v -> {
|
||||
MoreInfoSheet moreInfoSheet = new MoreInfoSheet();
|
||||
moreInfoSheet.setApp(app);
|
||||
moreInfoSheet.show(activity.getSupportFragmentManager(), "MORE");
|
||||
});
|
||||
if (TextUtils.isEmpty(app.getDescription())) {
|
||||
hide(R.id.more_layout);
|
||||
} else {
|
||||
show(rootLayout, R.id.more_layout);
|
||||
moreLayout.setOnClickListener(v -> {
|
||||
ReadMoreActivity.app = app;
|
||||
activity.startActivity(new Intent(activity, ReadMoreActivity.class),
|
||||
ViewUtil.getEmptyActivityBundle(activity));
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -40,6 +40,7 @@ import androidx.navigation.Navigation;
|
||||
|
||||
import com.aurora.store.R;
|
||||
import com.aurora.store.api.PlayStoreApiAuthenticator;
|
||||
import com.aurora.store.ui.main.AuroraActivity;
|
||||
import com.aurora.store.ui.preference.SettingsActivity;
|
||||
import com.aurora.store.ui.single.activity.BaseActivity;
|
||||
import com.aurora.store.ui.single.activity.GoogleLoginActivity;
|
||||
@@ -99,7 +100,7 @@ public class IntroActivity extends BaseActivity {
|
||||
protected void onResume() {
|
||||
super.onResume();
|
||||
if (Accountant.isLoggedIn(this)) {
|
||||
startActivity(new Intent(this, SplashActivity.class));
|
||||
startActivity(new Intent(this, AuroraActivity.class));
|
||||
supportFinishAfterTransition();
|
||||
}
|
||||
}
|
||||
@@ -200,7 +201,6 @@ public class IntroActivity extends BaseActivity {
|
||||
return;
|
||||
}
|
||||
startActivity(new Intent(this, GoogleLoginActivity.class), ViewUtil.getEmptyActivityBundle(this));
|
||||
supportFinishAfterTransition();
|
||||
}
|
||||
|
||||
private void resetAnonymousLogin() {
|
||||
|
||||
@@ -48,9 +48,4 @@ public class WelcomeFragment extends Fragment {
|
||||
ButterKnife.bind(this, view);
|
||||
return view;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
|
||||
super.onViewCreated(view, savedInstanceState);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -255,6 +255,7 @@ public class AuroraActivity extends BaseActivity {
|
||||
|
||||
@Override
|
||||
public void onDrawerOpened(@NonNull View drawerView) {
|
||||
ImageView backgroundView = drawerView.findViewById(R.id.background);
|
||||
ImageView imageView = drawerView.findViewById(R.id.img);
|
||||
TextView textView1 = drawerView.findViewById(R.id.line1);
|
||||
TextView textView2 = drawerView.findViewById(R.id.line2);
|
||||
@@ -266,6 +267,11 @@ public class AuroraActivity extends BaseActivity {
|
||||
.circleCrop()
|
||||
.into(imageView);
|
||||
|
||||
GlideApp
|
||||
.with(AuroraActivity.this)
|
||||
.load(Accountant.getBackgroundImageURL(AuroraActivity.this))
|
||||
.into(backgroundView);
|
||||
|
||||
textView1.setText(Accountant.isAnonymous(AuroraActivity.this)
|
||||
? getText(R.string.account_dummy)
|
||||
: Accountant.getUserName(AuroraActivity.this));
|
||||
@@ -289,8 +295,8 @@ public class AuroraActivity extends BaseActivity {
|
||||
Intent intent = new Intent(this, GenericActivity.class);
|
||||
switch (item.getItemId()) {
|
||||
case R.id.action_accounts:
|
||||
intent.putExtra(Constants.FRAGMENT_NAME, Constants.FRAGMENT_ACCOUNTS);
|
||||
startActivity(intent, ViewUtil.getEmptyActivityBundle(this));
|
||||
startActivity(new Intent(this, AccountsActivity.class),
|
||||
ViewUtil.getEmptyActivityBundle(this));
|
||||
break;
|
||||
case R.id.action_all_apps:
|
||||
startActivity(new Intent(this, InstalledAppActivity.class),
|
||||
|
||||
@@ -30,6 +30,7 @@ import android.widget.ProgressBar;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.lifecycle.ViewModelProviders;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
@@ -58,6 +59,7 @@ public class CategoriesFragment extends Fragment implements CategoriesSection.Cl
|
||||
@BindView(R.id.progress_bar)
|
||||
ProgressBar progressBar;
|
||||
|
||||
private AppCompatActivity activity;
|
||||
private Context context;
|
||||
private CategoryManager categoryManager;
|
||||
|
||||
@@ -78,9 +80,10 @@ public class CategoriesFragment extends Fragment implements CategoriesSection.Cl
|
||||
@Override
|
||||
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
|
||||
super.onActivityCreated(savedInstanceState);
|
||||
activity = (AuroraActivity) getActivity();
|
||||
categoryManager = new CategoryManager(context);
|
||||
CategoriesModel categoriesModel = ViewModelProviders.of(this).get(CategoriesModel.class);
|
||||
categoriesModel.getFetchCompleted().observe(this, success -> {
|
||||
CategoriesModel categoriesModel = ViewModelProviders.of(activity).get(CategoriesModel.class);
|
||||
categoriesModel.getFetchCompleted().observe(activity, success -> {
|
||||
if (success) {
|
||||
setupRecycler();
|
||||
progressBar.setVisibility(View.GONE);
|
||||
|
||||
@@ -29,6 +29,7 @@ import android.view.ViewGroup;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.lifecycle.ViewModelProviders;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
@@ -64,6 +65,7 @@ public class HomeFragment extends Fragment {
|
||||
@BindView(R.id.btn_top_family)
|
||||
MaterialButton btnTopFamily;
|
||||
|
||||
private AppCompatActivity activity;
|
||||
private Context context;
|
||||
private FeaturedAppsAdapter topAppsAdapter;
|
||||
private FeaturedAppsAdapter topGamesAdapter;
|
||||
@@ -106,18 +108,19 @@ public class HomeFragment extends Fragment {
|
||||
@Override
|
||||
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
|
||||
super.onActivityCreated(savedInstanceState);
|
||||
activity = (AuroraActivity) getActivity();
|
||||
setupRecyclers();
|
||||
HomeAppsModel homeAppsModel = ViewModelProviders.of(this).get(HomeAppsModel.class);
|
||||
homeAppsModel.getTopApps().observe(this, appList -> {
|
||||
HomeAppsModel homeAppsModel = ViewModelProviders.of(activity).get(HomeAppsModel.class);
|
||||
homeAppsModel.getTopApps().observe(activity, appList -> {
|
||||
topAppsAdapter.addData(appList);
|
||||
});
|
||||
homeAppsModel.getTopGames().observe(this, appList -> {
|
||||
homeAppsModel.getTopGames().observe(activity, appList -> {
|
||||
topGamesAdapter.addData(appList);
|
||||
});
|
||||
homeAppsModel.getTopFamily().observe(this, appList -> {
|
||||
homeAppsModel.getTopFamily().observe(activity, appList -> {
|
||||
topFamilyAdapter.addData(appList);
|
||||
});
|
||||
homeAppsModel.getError().observe(this, errorType -> {
|
||||
homeAppsModel.getError().observe(activity, errorType -> {
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
@@ -3,70 +3,43 @@ package com.aurora.store.ui.main.fragment.updates;
|
||||
import android.app.Application;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.lifecycle.AndroidViewModel;
|
||||
import androidx.lifecycle.LiveData;
|
||||
import androidx.lifecycle.MutableLiveData;
|
||||
|
||||
import com.aurora.store.AuroraApplication;
|
||||
import com.aurora.store.enums.ErrorType;
|
||||
import com.aurora.store.exception.CredentialsEmptyException;
|
||||
import com.aurora.store.exception.InvalidApiException;
|
||||
import com.aurora.store.model.App;
|
||||
import com.aurora.store.task.UpdatableAppsTask;
|
||||
import com.dragons.aurora.playstoreapiv2.AuthException;
|
||||
import com.dragons.aurora.playstoreapiv2.GooglePlayAPI;
|
||||
import com.aurora.store.viewmodel.BaseViewModel;
|
||||
|
||||
import java.net.UnknownHostException;
|
||||
import java.util.List;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import io.reactivex.android.schedulers.AndroidSchedulers;
|
||||
import io.reactivex.disposables.CompositeDisposable;
|
||||
import io.reactivex.schedulers.Schedulers;
|
||||
|
||||
public class UpdatableAppsModel extends AndroidViewModel {
|
||||
|
||||
private Application application;
|
||||
private CompositeDisposable disposable = new CompositeDisposable();
|
||||
|
||||
private GooglePlayAPI api;
|
||||
|
||||
public class UpdatableAppsModel extends BaseViewModel {
|
||||
|
||||
private MutableLiveData<List<App>> listMutableLiveData = new MutableLiveData<>();
|
||||
private MutableLiveData<ErrorType> errorTypeMutableLiveData = new MutableLiveData<>();
|
||||
|
||||
public UpdatableAppsModel(@NonNull Application application) {
|
||||
super(application);
|
||||
this.application = application;
|
||||
this.api = AuroraApplication.api;
|
||||
fetchUpdatableApps();
|
||||
}
|
||||
|
||||
public LiveData<ErrorType> getErrorTypeMutableLiveData() {
|
||||
return errorTypeMutableLiveData;
|
||||
}
|
||||
|
||||
public LiveData<List<App>> getListMutableLiveData() {
|
||||
return listMutableLiveData;
|
||||
}
|
||||
|
||||
public void fetchUpdatableApps() {
|
||||
disposable.add(Observable.fromCallable(() -> new UpdatableAppsTask(api, application)
|
||||
disposable.add(Observable.fromCallable(() -> new UpdatableAppsTask(api, getApplication())
|
||||
.getUpdatableApps())
|
||||
.subscribeOn(Schedulers.computation())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe((appList) -> {
|
||||
listMutableLiveData.setValue(appList);
|
||||
}, err -> {
|
||||
if (err instanceof CredentialsEmptyException || err instanceof InvalidApiException)
|
||||
errorTypeMutableLiveData.setValue(ErrorType.LOGOUT_ERR);
|
||||
else if (err instanceof AuthException)
|
||||
errorTypeMutableLiveData.setValue(ErrorType.SESSION_EXPIRED);
|
||||
else if (err instanceof UnknownHostException)
|
||||
errorTypeMutableLiveData.setValue(ErrorType.NO_NETWORK);
|
||||
else
|
||||
errorTypeMutableLiveData.setValue(ErrorType.UNKNOWN);
|
||||
}));
|
||||
}, err -> handleError(err)));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -29,6 +29,7 @@ import android.view.ViewGroup;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.appcompat.widget.AppCompatTextView;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.lifecycle.ViewModelProviders;
|
||||
@@ -46,6 +47,7 @@ import com.aurora.store.section.UpdateAppSection;
|
||||
import com.aurora.store.sheet.AppMenuSheet;
|
||||
import com.aurora.store.ui.details.DetailsActivity;
|
||||
import com.aurora.store.ui.main.AuroraActivity;
|
||||
import com.aurora.store.ui.single.fragment.BaseFragment;
|
||||
import com.aurora.store.ui.view.CustomSwipeToRefresh;
|
||||
import com.aurora.store.util.Util;
|
||||
import com.aurora.store.util.ViewUtil;
|
||||
@@ -64,7 +66,7 @@ import io.github.luizgrp.sectionedrecyclerviewadapter.SectionedRecyclerViewAdapt
|
||||
import io.reactivex.disposables.CompositeDisposable;
|
||||
|
||||
|
||||
public class UpdatesFragment extends Fragment implements UpdateAppSection.ClickListener {
|
||||
public class UpdatesFragment extends BaseFragment implements UpdateAppSection.ClickListener {
|
||||
|
||||
@BindView(R.id.swipe_layout)
|
||||
CustomSwipeToRefresh customSwipeToRefresh;
|
||||
@@ -75,6 +77,7 @@ public class UpdatesFragment extends Fragment implements UpdateAppSection.ClickL
|
||||
@BindView(R.id.btn_action)
|
||||
MaterialButton btnAction;
|
||||
|
||||
private AppCompatActivity activity;
|
||||
private Context context;
|
||||
private Fetch fetch;
|
||||
private CompositeDisposable disposable = new CompositeDisposable();
|
||||
@@ -100,16 +103,17 @@ public class UpdatesFragment extends Fragment implements UpdateAppSection.ClickL
|
||||
@Override
|
||||
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
|
||||
super.onActivityCreated(savedInstanceState);
|
||||
activity = (AuroraActivity) getActivity();
|
||||
fetch = DownloadManager.getFetchInstance(context);
|
||||
setupRecycler();
|
||||
|
||||
model = ViewModelProviders.of(this).get(UpdatableAppsModel.class);
|
||||
model.getListMutableLiveData().observe(this, appList -> {
|
||||
model = ViewModelProviders.of(activity).get(UpdatableAppsModel.class);
|
||||
model.getListMutableLiveData().observe(activity, appList -> {
|
||||
dispatchAppsToAdapter(appList);
|
||||
customSwipeToRefresh.setRefreshing(false);
|
||||
});
|
||||
|
||||
model.getErrorTypeMutableLiveData().observe(this, errorType -> {
|
||||
model.getError().observe(activity, errorType -> {
|
||||
switch (errorType) {
|
||||
case NO_API:
|
||||
case SESSION_EXPIRED:
|
||||
|
||||
@@ -82,6 +82,7 @@ public class GoogleLoginActivity extends BaseActivity {
|
||||
String oauth_token = cookieMap.get(OAUTH_TOKEN);
|
||||
webview.evaluateJavascript("(function() { return document.getElementById('profileIdentifier').innerHTML; })();",
|
||||
email -> {
|
||||
email = email.replaceAll("\"", "");
|
||||
generateTokens(email, oauth_token);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -38,7 +38,6 @@ import androidx.appcompat.widget.Toolbar;
|
||||
import com.aurora.store.R;
|
||||
import com.aurora.store.manager.CategoryManager;
|
||||
import com.aurora.store.model.App;
|
||||
import com.aurora.store.model.ImageSource;
|
||||
import com.aurora.store.task.DeliveryData;
|
||||
import com.aurora.store.task.LiveUpdate;
|
||||
import com.aurora.store.ui.details.DetailsActivity;
|
||||
@@ -114,20 +113,15 @@ public class ManualDownloadActivity extends BaseActivity {
|
||||
}
|
||||
|
||||
private void drawAppBadge() {
|
||||
ImageSource imageSource = app.getIconInfo();
|
||||
if (null != imageSource.getApplicationInfo()) {
|
||||
appIcon.setImageDrawable(getPackageManager().getApplicationIcon(imageSource.getApplicationInfo()));
|
||||
} else {
|
||||
Glide.with(this)
|
||||
.asBitmap()
|
||||
.load(imageSource.getUrl())
|
||||
.apply(new RequestOptions()
|
||||
.diskCacheStrategy(DiskCacheStrategy.AUTOMATIC)
|
||||
.placeholder(R.color.colorTransparent)
|
||||
.priority(Priority.HIGH))
|
||||
.transition(new BitmapTransitionOptions().crossFade())
|
||||
.into(appIcon);
|
||||
}
|
||||
Glide.with(this)
|
||||
.asBitmap()
|
||||
.load(app.getIconUrl())
|
||||
.apply(new RequestOptions()
|
||||
.diskCacheStrategy(DiskCacheStrategy.AUTOMATIC)
|
||||
.placeholder(R.color.colorTransparent)
|
||||
.priority(Priority.HIGH))
|
||||
.transition(new BitmapTransitionOptions().crossFade())
|
||||
.into(appIcon);
|
||||
|
||||
setText(R.id.displayName, app.getDisplayName());
|
||||
setText(R.id.packageName, app.getPackageName());
|
||||
@@ -158,7 +152,7 @@ public class ManualDownloadActivity extends BaseActivity {
|
||||
setText(R.id.price, R.string.category_appFree);
|
||||
else
|
||||
setText(R.id.price, app.getPrice());
|
||||
setText(R.id.contains_ads, app.containsAds() ? R.string.details_contains_ads : R.string.details_no_ads);
|
||||
setText(R.id.contains_ads, app.isContainsAds() ? R.string.details_contains_ads : R.string.details_no_ads);
|
||||
setText(R.id.txt_rating, app.getLabeledRating());
|
||||
setText(R.id.txt_installs, Util.addDiPrefix(app.getInstalls()));
|
||||
setText(R.id.txt_size, Formatter.formatShortFileSize(this, app.getSize()));
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
package com.aurora.store.ui.single.fragment;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.Bundle;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.fragment.app.Fragment;
|
||||
|
||||
public class BaseFragment extends Fragment {
|
||||
|
||||
@Override
|
||||
public void onAttach(@NonNull Context context) {
|
||||
super.onAttach(context);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
|
||||
super.onActivityCreated(savedInstanceState);
|
||||
}
|
||||
}
|
||||
46
app/src/main/java/com/aurora/store/ui/view/FeatureChip.java
Normal file
46
app/src/main/java/com/aurora/store/ui/view/FeatureChip.java
Normal file
@@ -0,0 +1,46 @@
|
||||
package com.aurora.store.ui.view;
|
||||
|
||||
import android.content.Context;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.View;
|
||||
import android.widget.RelativeLayout;
|
||||
|
||||
import com.aurora.store.R;
|
||||
import com.google.android.material.chip.Chip;
|
||||
|
||||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
|
||||
public class FeatureChip extends RelativeLayout {
|
||||
|
||||
@BindView(R.id.chip)
|
||||
public Chip chip;
|
||||
|
||||
public FeatureChip(Context context) {
|
||||
super(context);
|
||||
init();
|
||||
}
|
||||
|
||||
public FeatureChip(Context context, AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
init();
|
||||
}
|
||||
|
||||
public FeatureChip(Context context, AttributeSet attrs, int defStyleAttr) {
|
||||
super(context, attrs, defStyleAttr);
|
||||
init();
|
||||
}
|
||||
|
||||
private void init() {
|
||||
View view = inflate(getContext(), R.layout.item_feature_chip, this);
|
||||
ButterKnife.bind(this, view);
|
||||
}
|
||||
|
||||
public void setLabel(String label) {
|
||||
chip.setText(label);
|
||||
}
|
||||
|
||||
public void setProgress(int progress) {
|
||||
|
||||
}
|
||||
}
|
||||
@@ -35,7 +35,6 @@ import com.aurora.store.R;
|
||||
|
||||
public class LinkView extends RelativeLayout {
|
||||
|
||||
Context context;
|
||||
CardView link_card;
|
||||
ImageView card_icon;
|
||||
TextView card_title;
|
||||
@@ -48,21 +47,20 @@ public class LinkView extends RelativeLayout {
|
||||
|
||||
public LinkView(Context context, String linkURL, String title, String summary, int cardIconID) {
|
||||
super(context);
|
||||
this.context = context;
|
||||
this.linkURL = linkURL;
|
||||
this.title = title;
|
||||
this.summary = summary;
|
||||
this.cardIconID = cardIconID;
|
||||
init(context);
|
||||
init();
|
||||
}
|
||||
|
||||
public LinkView(Context context, AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
init(context);
|
||||
init();
|
||||
}
|
||||
|
||||
private void init(Context context) {
|
||||
View view = inflate(context, R.layout.item_link, this);
|
||||
private void init() {
|
||||
View view = inflate(getContext(), R.layout.item_link, this);
|
||||
card_icon = view.findViewById(R.id.link_icon);
|
||||
card_title = view.findViewById(R.id.link_title);
|
||||
card_summary = view.findViewById(R.id.link_summary);
|
||||
@@ -73,7 +71,7 @@ public class LinkView extends RelativeLayout {
|
||||
view.setOnClickListener(click -> {
|
||||
final Intent browserIntent = new Intent(Intent.ACTION_VIEW);
|
||||
browserIntent.setData(Uri.parse(linkURL));
|
||||
context.startActivity(browserIntent);
|
||||
getContext().startActivity(browserIntent);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
48
app/src/main/java/com/aurora/store/ui/view/MoreLayout.java
Normal file
48
app/src/main/java/com/aurora/store/ui/view/MoreLayout.java
Normal file
@@ -0,0 +1,48 @@
|
||||
package com.aurora.store.ui.view;
|
||||
|
||||
import android.content.Context;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.View;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.aurora.store.R;
|
||||
|
||||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
|
||||
public class MoreLayout extends LinearLayout {
|
||||
|
||||
@BindView(R.id.txt_column1)
|
||||
public TextView txtColumn1;
|
||||
@BindView(R.id.txt_column2)
|
||||
public TextView txtColumn2;
|
||||
|
||||
public MoreLayout(Context context) {
|
||||
super(context);
|
||||
init();
|
||||
}
|
||||
|
||||
public MoreLayout(Context context, AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
init();
|
||||
}
|
||||
|
||||
public MoreLayout(Context context, AttributeSet attrs, int defStyleAttr) {
|
||||
super(context, attrs, defStyleAttr);
|
||||
init();
|
||||
}
|
||||
|
||||
private void init() {
|
||||
View view = inflate(getContext(), R.layout.item_more_two_column, this);
|
||||
ButterKnife.bind(this, view);
|
||||
}
|
||||
|
||||
public void setLabel(String label) {
|
||||
txtColumn1.setText(label);
|
||||
}
|
||||
|
||||
public void setValue(String value) {
|
||||
txtColumn2.setText(value);
|
||||
}
|
||||
}
|
||||
@@ -29,6 +29,7 @@ public class Accountant {
|
||||
public static final String EMAIL = "EMAIL";
|
||||
public static final String PROFILE_NAME = "PROFILE_NAME";
|
||||
public static final String PROFILE_AVATAR = "PROFILE_AVATAR";
|
||||
public static final String PROFILE_BACKGROUND = "PROFILE_BACKGROUND";
|
||||
public static final String LOGGED_IN = "LOGGED_IN";
|
||||
public static final String ANONYMOUS = "ANONYMOUS";
|
||||
|
||||
@@ -54,11 +55,16 @@ public class Accountant {
|
||||
return PrefUtil.getString(context, PROFILE_AVATAR);
|
||||
}
|
||||
|
||||
public static String getBackgroundImageURL(Context context) {
|
||||
return PrefUtil.getString(context, PROFILE_BACKGROUND);
|
||||
}
|
||||
|
||||
public static void completeCheckout(Context context) {
|
||||
PrefUtil.remove(context, LOGGED_IN);
|
||||
PrefUtil.remove(context, EMAIL);
|
||||
PrefUtil.remove(context, PROFILE_NAME);
|
||||
PrefUtil.remove(context, PROFILE_AVATAR);
|
||||
PrefUtil.remove(context, PROFILE_BACKGROUND);
|
||||
LoginInfo.removeSavedInstance(context);
|
||||
}
|
||||
|
||||
|
||||
@@ -20,8 +20,14 @@
|
||||
|
||||
package com.aurora.store.util;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import com.aurora.store.Constants;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileWriter;
|
||||
import java.io.IOException;
|
||||
|
||||
public class Log {
|
||||
|
||||
public static void e(String message, Object... args) {
|
||||
@@ -55,4 +61,14 @@ public class Log {
|
||||
public static void w(String message) {
|
||||
android.util.Log.w(Constants.TAG, message);
|
||||
}
|
||||
|
||||
public static void writeToFile(Context context, Object object) {
|
||||
try {
|
||||
FileWriter out = new FileWriter(new File(context.getFilesDir(), "AuroraLogs.txt"));
|
||||
out.write(object.toString());
|
||||
out.close();
|
||||
} catch (IOException e) {
|
||||
Log.e(e.getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -538,12 +538,16 @@ public class Util {
|
||||
|
||||
public static Map<String, String> parseCookieString(String cookies) {
|
||||
Map<String, String> cookieList = new HashMap<>();
|
||||
Pattern cookiePattern = Pattern.compile("([^=]+)=([^;]*);?\\s?");
|
||||
Matcher matcher = cookiePattern.matcher(cookies);
|
||||
while (matcher.find()) {
|
||||
String cookieKey = matcher.group(1);
|
||||
String cookieValue = matcher.group(2);
|
||||
cookieList.put(cookieKey, cookieValue);
|
||||
try {
|
||||
Pattern cookiePattern = Pattern.compile("([^=]+)=([^;]*);?\\s?");
|
||||
Matcher matcher = cookiePattern.matcher(cookies);
|
||||
while (matcher.find()) {
|
||||
String cookieKey = matcher.group(1);
|
||||
String cookieValue = matcher.group(2);
|
||||
cookieList.put(cookieKey, cookieValue);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
Log.d(e.getMessage());
|
||||
}
|
||||
return cookieList;
|
||||
}
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<!--
|
||||
~ Aurora Store
|
||||
~ Copyright (C) 2019, Rahul Kumar Patel <whyorean@gmail.com>
|
||||
~
|
||||
~ Aurora Store is free software: you can redistribute it and/or modify
|
||||
~ it under the terms of the GNU General Public License as published by
|
||||
~ the Free Software Foundation, either version 2 of the License, or
|
||||
~ (at your option) any later version.
|
||||
~
|
||||
~ Aurora Store is distributed in the hope that it will be useful,
|
||||
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
~ GNU General Public License for more details.
|
||||
~
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with Aurora Store. If not, see <http://www.gnu.org/licenses/>.
|
||||
~
|
||||
~
|
||||
-->
|
||||
|
||||
<layoutAnimation xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:animation="@anim/item_falldown"
|
||||
android:animationOrder="normal"
|
||||
android:delay="15%" />
|
||||
@@ -1,26 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<!--
|
||||
~ Aurora Store
|
||||
~ Copyright (C) 2019, Rahul Kumar Patel <whyorean@gmail.com>
|
||||
~
|
||||
~ Aurora Store is free software: you can redistribute it and/or modify
|
||||
~ it under the terms of the GNU General Public License as published by
|
||||
~ the Free Software Foundation, either version 2 of the License, or
|
||||
~ (at your option) any later version.
|
||||
~
|
||||
~ Aurora Store is distributed in the hope that it will be useful,
|
||||
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
~ GNU General Public License for more details.
|
||||
~
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with Aurora Store. If not, see <http://www.gnu.org/licenses/>.
|
||||
~
|
||||
~
|
||||
-->
|
||||
|
||||
<layoutAnimation xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:animation="@anim/item_slideright"
|
||||
android:animationOrder="normal"
|
||||
android:delay="15%" />
|
||||
@@ -1,42 +0,0 @@
|
||||
<!--
|
||||
~ Aurora Store
|
||||
~ Copyright (C) 2019, Rahul Kumar Patel <whyorean@gmail.com>
|
||||
~
|
||||
~ Aurora Store is free software: you can redistribute it and/or modify
|
||||
~ it under the terms of the GNU General Public License as published by
|
||||
~ the Free Software Foundation, either version 2 of the License, or
|
||||
~ (at your option) any later version.
|
||||
~
|
||||
~ Aurora Store is distributed in the hope that it will be useful,
|
||||
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
~ GNU General Public License for more details.
|
||||
~
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with Aurora Store. If not, see <http://www.gnu.org/licenses/>.
|
||||
~
|
||||
~
|
||||
-->
|
||||
|
||||
<set xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:duration="@integer/anim_duration_medium">
|
||||
|
||||
<translate
|
||||
android:fromYDelta="-20%"
|
||||
android:interpolator="@android:anim/decelerate_interpolator"
|
||||
android:toYDelta="0" />
|
||||
|
||||
<alpha
|
||||
android:fromAlpha="0"
|
||||
android:interpolator="@android:anim/decelerate_interpolator"
|
||||
android:toAlpha="1" />
|
||||
|
||||
<scale
|
||||
android:fromXScale="105%"
|
||||
android:fromYScale="105%"
|
||||
android:interpolator="@android:anim/decelerate_interpolator"
|
||||
android:pivotX="50%"
|
||||
android:pivotY="50%"
|
||||
android:toXScale="100%"
|
||||
android:toYScale="100%" />
|
||||
</set>
|
||||
@@ -1,34 +0,0 @@
|
||||
<!--
|
||||
~ Aurora Store
|
||||
~ Copyright (C) 2019, Rahul Kumar Patel <whyorean@gmail.com>
|
||||
~
|
||||
~ Aurora Store is free software: you can redistribute it and/or modify
|
||||
~ it under the terms of the GNU General Public License as published by
|
||||
~ the Free Software Foundation, either version 2 of the License, or
|
||||
~ (at your option) any later version.
|
||||
~
|
||||
~ Aurora Store is distributed in the hope that it will be useful,
|
||||
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
~ GNU General Public License for more details.
|
||||
~
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with Aurora Store. If not, see <http://www.gnu.org/licenses/>.
|
||||
~
|
||||
~
|
||||
-->
|
||||
|
||||
<set xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:duration="@integer/anim_duration_medium">
|
||||
|
||||
<translate
|
||||
android:fromXDelta="100%p"
|
||||
android:interpolator="@android:anim/decelerate_interpolator"
|
||||
android:toXDelta="0" />
|
||||
|
||||
<alpha
|
||||
android:fromAlpha="0.5"
|
||||
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
|
||||
android:toAlpha="1" />
|
||||
|
||||
</set>
|
||||
5
app/src/main/res/drawable/feature_chip_bg.xml
Normal file
5
app/src/main/res/drawable/feature_chip_bg.xml
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<solid android:color="?android:attr/colorAccent" />
|
||||
</shape>
|
||||
5
app/src/main/res/drawable/feature_chip_level.xml
Normal file
5
app/src/main/res/drawable/feature_chip_level.xml
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<clip xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:clipOrientation="horizontal"
|
||||
android:drawable="@drawable/feature_chip_bg"
|
||||
android:gravity="left|clip_horizontal|fill_vertical" />
|
||||
@@ -1,14 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillAlpha="0.3"
|
||||
android:fillColor="?android:attr/colorControlNormal"
|
||||
android:pathData="M12,4c-4.41,0 -8,3.59 -8,8s3.59,8 8,8 8,-3.59 8,-8 -3.59,-8 -8,-8zM13,17h-2v-6h2v6zM13,9h-2L11,7h2v2z"
|
||||
android:strokeAlpha="0.3" />
|
||||
<path
|
||||
android:fillColor="?android:attr/colorControlNormal"
|
||||
android:pathData="M11,7h2v2h-2zM11,11h2v6h-2zM12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM12,20c-4.41,0 -8,-3.59 -8,-8s3.59,-8 8,-8 8,3.59 8,8 -3.59,8 -8,8z" />
|
||||
</vector>
|
||||
@@ -1,34 +0,0 @@
|
||||
<!--
|
||||
~ Aurora Store
|
||||
~ Copyright (C) 2019, Rahul Kumar Patel <whyorean@gmail.com>
|
||||
~
|
||||
~ Aurora Store is free software: you can redistribute it and/or modify
|
||||
~ it under the terms of the GNU General Public License as published by
|
||||
~ the Free Software Foundation, either version 2 of the License, or
|
||||
~ (at your option) any later version.
|
||||
~
|
||||
~ Aurora Store is distributed in the hope that it will be useful,
|
||||
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
~ GNU General Public License for more details.
|
||||
~
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with Aurora Store. If not, see <http://www.gnu.org/licenses/>.
|
||||
~
|
||||
~
|
||||
-->
|
||||
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillAlpha="0.3"
|
||||
android:fillColor="?android:attr/colorAccent"
|
||||
android:pathData="M12,18c3.31,0 6,-2.69 6,-6s-2.69,-6 -6,-6 -6,2.69 -6,6 2.69,6 6,6z"
|
||||
android:strokeAlpha="0.3" />
|
||||
<path
|
||||
android:fillColor="?android:attr/colorAccent"
|
||||
android:pathData="M12,20c4.42,0 8,-3.58 8,-8s-3.58,-8 -8,-8 -8,3.58 -8,8 3.58,8 8,8zM12,6c3.31,0 6,2.69 6,6s-2.69,6 -6,6 -6,-2.69 -6,-6 2.69,-6 6,-6z" />
|
||||
</vector>
|
||||
@@ -1,34 +0,0 @@
|
||||
<!--
|
||||
~ Aurora Store
|
||||
~ Copyright (C) 2019, Rahul Kumar Patel <whyorean@gmail.com>
|
||||
~
|
||||
~ Aurora Store is free software: you can redistribute it and/or modify
|
||||
~ it under the terms of the GNU General Public License as published by
|
||||
~ the Free Software Foundation, either version 2 of the License, or
|
||||
~ (at your option) any later version.
|
||||
~
|
||||
~ Aurora Store is distributed in the hope that it will be useful,
|
||||
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
~ GNU General Public License for more details.
|
||||
~
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with Aurora Store. If not, see <http://www.gnu.org/licenses/>.
|
||||
~
|
||||
~
|
||||
-->
|
||||
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillAlpha="0.3"
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M5,19h14L19,5L5,5v14zM11,7h6v2h-6L11,7zM11,11h6v2h-6v-2zM11,15h6v2h-6v-2zM7,7h2v2L7,9L7,7zM7,11h2v2L7,13v-2zM7,15h2v2L7,17v-2z"
|
||||
android:strokeAlpha="0.3" />
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M11,7h6v2h-6zM11,11h6v2h-6zM11,15h6v2h-6zM7,7h2v2L7,9zM7,11h2v2L7,13zM7,15h2v2L7,17zM20.1,3L3.9,3c-0.5,0 -0.9,0.4 -0.9,0.9v16.2c0,0.4 0.4,0.9 0.9,0.9h16.2c0.4,0 0.9,-0.5 0.9,-0.9L21,3.9c0,-0.5 -0.5,-0.9 -0.9,-0.9zM19,19L5,19L5,5h14v14z" />
|
||||
</vector>
|
||||
@@ -1,34 +0,0 @@
|
||||
<!--
|
||||
~ Aurora Store
|
||||
~ Copyright (C) 2019, Rahul Kumar Patel <whyorean@gmail.com>
|
||||
~
|
||||
~ Aurora Store is free software: you can redistribute it and/or modify
|
||||
~ it under the terms of the GNU General Public License as published by
|
||||
~ the Free Software Foundation, either version 2 of the License, or
|
||||
~ (at your option) any later version.
|
||||
~
|
||||
~ Aurora Store is distributed in the hope that it will be useful,
|
||||
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
~ GNU General Public License for more details.
|
||||
~
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with Aurora Store. If not, see <http://www.gnu.org/licenses/>.
|
||||
~
|
||||
~
|
||||
-->
|
||||
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillAlpha="0.3"
|
||||
android:fillColor="?android:attr/colorControlNormal"
|
||||
android:pathData="M12,18c3.31,0 6,-2.69 6,-6s-2.69,-6 -6,-6 -6,2.69 -6,6 2.69,6 6,6z"
|
||||
android:strokeAlpha="0.3" />
|
||||
<path
|
||||
android:fillColor="?android:attr/colorControlNormal"
|
||||
android:pathData="M12,20c4.42,0 8,-3.58 8,-8s-3.58,-8 -8,-8 -8,3.58 -8,8 3.58,8 8,8zM12,6c3.31,0 6,2.69 6,6s-2.69,6 -6,6 -6,-2.69 -6,-6 2.69,-6 6,-6z" />
|
||||
</vector>
|
||||
@@ -1,14 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillAlpha="0.3"
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M20,4L4,4v13.17L5.17,16L20,16L20,4zM14,14L6,14v-2h8v2zM18,11L6,11L6,9h12v2zM18,8L6,8L6,6h12v2z"
|
||||
android:strokeAlpha="0.3" />
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M20,18c1.1,0 2,-0.9 2,-2L22,4c0,-1.1 -0.9,-2 -2,-2L4,2c-1.1,0 -1.99,0.9 -1.99,2L2,22l4,-4h14zM4,17.17L4,4h16v12L5.17,16L4,17.17zM6,12h8v2L6,14zM6,9h12v2L6,11zM6,6h12v2L6,8z" />
|
||||
</vector>
|
||||
@@ -1,34 +0,0 @@
|
||||
<!--
|
||||
~ Aurora Store
|
||||
~ Copyright (C) 2019, Rahul Kumar Patel <whyorean@gmail.com>
|
||||
~
|
||||
~ Aurora Store is free software: you can redistribute it and/or modify
|
||||
~ it under the terms of the GNU General Public License as published by
|
||||
~ the Free Software Foundation, either version 2 of the License, or
|
||||
~ (at your option) any later version.
|
||||
~
|
||||
~ Aurora Store is distributed in the hope that it will be useful,
|
||||
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
~ GNU General Public License for more details.
|
||||
~
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with Aurora Store. If not, see <http://www.gnu.org/licenses/>.
|
||||
~
|
||||
~
|
||||
-->
|
||||
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillAlpha="0.3"
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M7,16c1.82,0 3.41,-1.3 3.87,-3L3.13,13c0.46,1.7 2.05,3 3.87,3zM8,7c0,1.82 1.3,3.41 3,3.87L11,3.13C9.3,3.59 8,5.18 8,7zM17,8c-1.82,0 -3.41,1.3 -3.87,3h7.74c-0.46,-1.7 -2.05,-3 -3.87,-3zM13,13.13v7.74c1.7,-0.46 3,-2.04 3,-3.87s-1.3,-3.41 -3,-3.87z"
|
||||
android:strokeAlpha="0.3" />
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M23,12c0,-3.25 -2.75,-6 -6,-6 -1.52,0 -2.93,0.6 -4,1.57L13,1h-1C8.75,1 6,3.75 6,7c0,1.52 0.6,2.93 1.57,4L1,11v1c0,3.25 2.75,6 6,6 1.52,0 2.93,-0.6 4,-1.57L11,23h1c3.25,0 6,-2.75 6,-6 0,-1.52 -0.6,-2.93 -1.57,-4L23,13v-1zM7,16c-1.82,0 -3.41,-1.3 -3.87,-3h7.74c-0.46,1.7 -2.05,3 -3.87,3zM11,10.87C9.3,10.41 8,8.82 8,7s1.3,-3.41 3,-3.87v7.74zM13,20.87v-7.74c1.7,0.46 3,2.04 3,3.87s-1.3,3.41 -3,3.87zM13.13,11c0.46,-1.7 2.04,-3 3.87,-3s3.41,1.3 3.87,3h-7.74z" />
|
||||
</vector>
|
||||
@@ -1,20 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillAlpha="0.3"
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M3,16h18L21,8L3,8v8zM18.5,9c0.83,0 1.5,0.67 1.5,1.5s-0.67,1.5 -1.5,1.5 -1.5,-0.67 -1.5,-1.5 0.67,-1.5 1.5,-1.5zM14.5,12c0.83,0 1.5,0.67 1.5,1.5s-0.67,1.5 -1.5,1.5 -1.5,-0.67 -1.5,-1.5 0.67,-1.5 1.5,-1.5zM4,11h2L6,9h2v2h2v2L8,13v2L6,15v-2L4,13v-2z"
|
||||
android:strokeAlpha="0.3" />
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M21,6L3,6c-1.1,0 -2,0.9 -2,2v8c0,1.1 0.9,2 2,2h18c1.1,0 2,-0.9 2,-2L23,8c0,-1.1 -0.9,-2 -2,-2zM21,16L3,16L3,8h18v8zM6,15h2v-2h2v-2L8,11L8,9L6,9v2L4,11v2h2z" />
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M14.5,13.5m-1.5,0a1.5,1.5 0,1 1,3 0a1.5,1.5 0,1 1,-3 0" />
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M18.5,10.5m-1.5,0a1.5,1.5 0,1 1,3 0a1.5,1.5 0,1 1,-3 0" />
|
||||
</vector>
|
||||
@@ -1,14 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillAlpha="0.3"
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M10.01,17m-2,0a2,2 0,1 1,4 0a2,2 0,1 1,-4 0"
|
||||
android:strokeAlpha="0.3" />
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M12,3l0.01,10.55c-0.59,-0.34 -1.27,-0.55 -2,-0.55C7.79,13 6,14.79 6,17s1.79,4 4.01,4S14,19.21 14,17L14,7h4L18,3h-6zM10.01,19c-1.1,0 -2,-0.9 -2,-2s0.9,-2 2,-2 2,0.9 2,2 -0.9,2 -2,2z" />
|
||||
</vector>
|
||||
@@ -1,14 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillAlpha="0.3"
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M3,5h18v12H3z"
|
||||
android:strokeAlpha="0.3" />
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M21,3L3,3c-1.11,0 -2,0.89 -2,2v12c0,1.1 0.89,2 2,2h5v2h8v-2h5c1.1,0 1.99,-0.9 1.99,-2L23,5c0,-1.11 -0.9,-2 -2,-2zM21,17L3,17L3,5h18v12z" />
|
||||
</vector>
|
||||
@@ -1,14 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillAlpha="0.3"
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M6,7v3L5,10v10h16L21,8h-4.05l-1.83,-2L9,6v1L6,7zM13,9c2.76,0 5,2.24 5,5s-2.24,5 -5,5 -5,-2.24 -5,-5 2.24,-5 5,-5z"
|
||||
android:strokeAlpha="0.3" />
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M21,6h-3.17L16,4L9,4v2h6.12l1.83,2L21,8v12L5,20L5,10L3,10v10c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L23,8c0,-1.1 -0.9,-2 -2,-2zM8,14c0,2.76 2.24,5 5,5s5,-2.24 5,-5 -2.24,-5 -5,-5 -5,2.24 -5,5zM13,11c1.65,0 3,1.35 3,3s-1.35,3 -3,3 -3,-1.35 -3,-3 1.35,-3 3,-3zM5,9L5,6h3L8,4L5,4L5,1L3,1v3L0,4v2h3v3z" />
|
||||
</vector>
|
||||
@@ -1,14 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillAlpha="0.3"
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M15.55,11l2.76,-5H6.16l2.37,5z"
|
||||
android:strokeAlpha="0.3" />
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M15.55,13c0.75,0 1.41,-0.41 1.75,-1.03l3.58,-6.49c0.37,-0.66 -0.11,-1.48 -0.87,-1.48L5.21,4l-0.94,-2L1,2v2h2l3.6,7.59 -1.35,2.44C4.52,15.37 5.48,17 7,17h12v-2L7,15l1.1,-2h7.45zM6.16,6h12.15l-2.76,5L8.53,11L6.16,6zM7,18c-1.1,0 -1.99,0.9 -1.99,2S5.9,22 7,22s2,-0.9 2,-2 -0.9,-2 -2,-2zM17,18c-1.1,0 -1.99,0.9 -1.99,2s0.89,2 1.99,2 2,-0.9 2,-2 -0.9,-2 -2,-2z" />
|
||||
</vector>
|
||||
@@ -1,14 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillAlpha="0.3"
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M20,4L4,4v13.17L5.17,16L20,16L20,4zM14,14L6,14v-2h8v2zM18,11L6,11L6,9h12v2zM18,8L6,8L6,6h12v2z"
|
||||
android:strokeAlpha="0.3" />
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M20,18c1.1,0 2,-0.9 2,-2L22,4c0,-1.1 -0.9,-2 -2,-2L4,2c-1.1,0 -1.99,0.9 -1.99,2L2,22l4,-4h14zM4,17.17L4,4h16v12L5.17,16L4,17.17zM6,12h8v2L6,14zM6,9h12v2L6,11zM6,6h12v2L6,8z" />
|
||||
</vector>
|
||||
@@ -1,19 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillAlpha="0.3"
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M9,8.5m-1.5,0a1.5,1.5 0,1 1,3 0a1.5,1.5 0,1 1,-3 0"
|
||||
android:strokeAlpha="0.3" />
|
||||
<path
|
||||
android:fillAlpha="0.3"
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M4.34,17h9.32c-0.84,-0.58 -2.87,-1.25 -4.66,-1.25s-3.82,0.67 -4.66,1.25z"
|
||||
android:strokeAlpha="0.3" />
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M9,12c1.93,0 3.5,-1.57 3.5,-3.5S10.93,5 9,5 5.5,6.57 5.5,8.5 7.07,12 9,12zM9,7c0.83,0 1.5,0.67 1.5,1.5S9.83,10 9,10s-1.5,-0.67 -1.5,-1.5S8.17,7 9,7zM9,13.75c-2.34,0 -7,1.17 -7,3.5L2,19h14v-1.75c0,-2.33 -4.66,-3.5 -7,-3.5zM4.34,17c0.84,-0.58 2.87,-1.25 4.66,-1.25s3.82,0.67 4.66,1.25L4.34,17zM16.04,13.81c1.16,0.84 1.96,1.96 1.96,3.44L18,19h4v-1.75c0,-2.02 -3.5,-3.17 -5.96,-3.44zM15,12c1.93,0 3.5,-1.57 3.5,-3.5S16.93,5 15,5c-0.54,0 -1.04,0.13 -1.5,0.35 0.63,0.89 1,1.98 1,3.15s-0.37,2.26 -1,3.15c0.46,0.22 0.96,0.35 1.5,0.35z" />
|
||||
</vector>
|
||||
@@ -1,29 +0,0 @@
|
||||
<!--
|
||||
~ Aurora Store
|
||||
~ Copyright (C) 2019, Rahul Kumar Patel <whyorean@gmail.com>
|
||||
~
|
||||
~ Aurora Store is free software: you can redistribute it and/or modify
|
||||
~ it under the terms of the GNU General Public License as published by
|
||||
~ the Free Software Foundation, either version 2 of the License, or
|
||||
~ (at your option) any later version.
|
||||
~
|
||||
~ Aurora Store is distributed in the hope that it will be useful,
|
||||
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
~ GNU General Public License for more details.
|
||||
~
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with Aurora Store. If not, see <http://www.gnu.org/licenses/>.
|
||||
~
|
||||
~
|
||||
-->
|
||||
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24.0"
|
||||
android:viewportHeight="24.0">
|
||||
<path
|
||||
android:fillColor="?android:colorForeground"
|
||||
android:pathData="M6,19c0,1.1 0.9,2 2,2h8c1.1,0 2,-0.9 2,-2V7H6v12zM19,4h-3.5l-1,-1h-5l-1,1H5v2h14V4z" />
|
||||
</vector>
|
||||
@@ -1,54 +0,0 @@
|
||||
<!--
|
||||
~ Aurora Store
|
||||
~ Copyright (C) 2019, Rahul Kumar Patel <whyorean@gmail.com>
|
||||
~
|
||||
~ Icon made by Freepik from www.flaticon.com
|
||||
~
|
||||
~ Aurora Store is free software: you can redistribute it and/or modify
|
||||
~ it under the terms of the GNU General Public License as published by
|
||||
~ the Free Software Foundation, either version 2 of the License, or
|
||||
~ (at your option) any later version.
|
||||
~
|
||||
~ Aurora Store is distributed in the hope that it will be useful,
|
||||
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
~ GNU General Public License for more details.
|
||||
~
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with Aurora Store. If not, see <http://www.gnu.org/licenses/>.
|
||||
~
|
||||
~
|
||||
-->
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="256"
|
||||
android:viewportHeight="256">
|
||||
<path
|
||||
android:fillColor="#4768FD"
|
||||
android:pathData="M127.663,128m-119.4,0a119.4,119.4 0,1 1,238.8 0a119.4,119.4 0,1 1,-238.8 0" />
|
||||
<path
|
||||
android:fillColor="#8BC34A"
|
||||
android:pathData="M177.833,194.375H78.167c-2.209,0 -4,-1.791 -4,-4l0,0c0,-8.837 7.163,-16 16,-16h75.667c8.837,0 16,7.163 16,16l0,0C181.833,192.584 180.042,194.375 177.833,194.375z" />
|
||||
<path
|
||||
android:fillColor="#8BC34A"
|
||||
android:pathData="M164.233,194.375H91.767c-1.896,0 -3.434,-1.537 -3.434,-3.434v-2.832c0,-7.585 6.149,-13.734 13.734,-13.734h51.865c7.585,0 13.734,6.149 13.734,13.734v2.832C167.667,192.838 166.129,194.375 164.233,194.375z" />
|
||||
<path
|
||||
android:fillColor="#4CAF50"
|
||||
android:pathData="M177.833,184.375H78.167c-0.929,0 -1.785,-0.317 -2.464,-0.849c-0.985,2.076 -1.536,4.398 -1.536,6.849l0,0c0,2.209 1.791,4 4,4h99.667c2.209,0 4,-1.791 4,-4l0,0c0,-2.451 -0.551,-4.773 -1.536,-6.849C179.618,184.058 178.763,184.375 177.833,184.375z" />
|
||||
<path
|
||||
android:fillColor="#E43D91"
|
||||
android:pathData="M153.75,154.625h-51.5c-3.314,0 -6,2.686 -6,6v13.75h63.5v-13.75C159.75,157.311 157.064,154.625 153.75,154.625z" />
|
||||
<path
|
||||
android:fillColor="#E43D91"
|
||||
android:pathData="M139.524,154.625h-23.048c-2.334,0 -4.226,1.892 -4.226,4.226v15.524h31.5v-15.524C143.75,156.517 141.858,154.625 139.524,154.625z" />
|
||||
<path
|
||||
android:fillColor="#A72973"
|
||||
android:pathData="M96.25,167.875h63.5v6.5h-63.5z" />
|
||||
<path
|
||||
android:fillColor="#FFFFFF"
|
||||
android:pathData="M143.75,112.125h-32.174v-44.5c0,-3.314 2.686,-6 6,-6h20.174c3.314,0 6,2.686 6,6V112.125z" />
|
||||
<path
|
||||
android:fillColor="#FFFFFF"
|
||||
android:pathData="M155.913,115.368l-23.67,23.67c-2.343,2.343 -6.142,2.343 -8.485,0l-23.67,-23.67c-3.78,-3.78 -1.103,-10.243 4.243,-10.243h47.34C157.016,105.125 159.693,111.588 155.913,115.368z" />
|
||||
</vector>
|
||||
@@ -1,46 +0,0 @@
|
||||
<!--
|
||||
~ Aurora Store
|
||||
~ Copyright (C) 2019, Rahul Kumar Patel <whyorean@gmail.com>
|
||||
~
|
||||
~ Icon made by Freepik from www.flaticon.com
|
||||
~
|
||||
~ Aurora Store is free software: you can redistribute it and/or modify
|
||||
~ it under the terms of the GNU General Public License as published by
|
||||
~ the Free Software Foundation, either version 2 of the License, or
|
||||
~ (at your option) any later version.
|
||||
~
|
||||
~ Aurora Store is distributed in the hope that it will be useful,
|
||||
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
~ GNU General Public License for more details.
|
||||
~
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with Aurora Store. If not, see <http://www.gnu.org/licenses/>.
|
||||
~
|
||||
~
|
||||
-->
|
||||
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="511.998"
|
||||
android:viewportHeight="511.998">
|
||||
<path
|
||||
android:fillColor="#F0DCBE"
|
||||
android:pathData="M255.999,27.194l-216.325,99.842l216.325,99.842l216.326,-99.842z" />
|
||||
<path
|
||||
android:fillColor="#EBD2AF"
|
||||
android:pathData="M467.491,387.194l-211.491,97.611V226.878l216.326,-99.842v252.603C472.325,382.884 470.438,385.833 467.491,387.194z" />
|
||||
<path
|
||||
android:fillColor="#D2B493"
|
||||
android:pathData="M44.507,387.194l211.492,97.611V226.878L39.674,127.036v252.602C39.674,382.884 41.561,385.833 44.507,387.194z" />
|
||||
<path
|
||||
android:fillColor="#F0DCBE"
|
||||
android:pathData="M472.325,127.036l-216.326,99.842l38.661,115.985c1.568,4.704 6.878,7.001 11.38,4.924l201.123,-92.826c3.849,-1.777 5.747,-6.164 4.406,-10.186L472.325,127.036z" />
|
||||
<path
|
||||
android:fillColor="#EBD2AF"
|
||||
android:pathData="M39.674,127.036l216.326,99.842l-38.662,115.985c-1.568,4.704 -6.878,7.001 -11.38,4.924L4.835,254.96c-3.849,-1.777 -5.747,-6.164 -4.406,-10.186L39.674,127.036z" />
|
||||
<path
|
||||
android:fillColor="#D2B493"
|
||||
android:pathData="M472.325,127.036l-216.326,-99.842l0,199.684z" />
|
||||
</vector>
|
||||
@@ -4,6 +4,6 @@
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="?android:attr/colorControlNormal"
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M9,13.5L4,6H3V4h18v2h-1l-5,7.5V22H9v-8.5zM6.404,6L11,12.894V20h2v-7.106L17.596,6H6.404z"/>
|
||||
</vector>
|
||||
|
||||
@@ -4,6 +4,6 @@
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="?android:attr/colorControlNormal"
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M5.33,3.271a3.5,3.5 0,0 1,4.254 4.963l10.709,10.71 -1.414,1.414 -10.71,-10.71a3.502,3.502 0,0 1,-4.962 -4.255L5.444,7.63a1.5,1.5 0,1 0,2.121 -2.121L5.329,3.27zM15.697,5.155l3.182,-1.768 1.414,1.414 -1.768,3.182 -1.768,0.354 -2.12,2.121 -1.415,-1.414 2.121,-2.121 0.354,-1.768zM8.979,13.287l1.414,1.414 -5.303,5.303a1,1 0,0 1,-1.492 -1.327l0.078,-0.087 5.303,-5.303z"/>
|
||||
</vector>
|
||||
|
||||
@@ -4,6 +4,6 @@
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="?android:attr/colorControlNormal"
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M5,15v2a2,2 0,0 0,1.85 1.995L7,19h3v2L7,21a4,4 0,0 1,-4 -4v-2h2zM18,10l4.4,11h-2.155l-1.201,-3h-4.09l-1.199,3h-2.154L16,10h2zM17,12.885L15.753,16h2.492L17,12.885zM8,2v2h4v7L8,11v3L6,14v-3L2,11L2,4h4L6,2h2zM17,3a4,4 0,0 1,4 4v2h-2L19,7a2,2 0,0 0,-2 -2h-3L14,3h3zM6,6L4,6v3h2L6,6zM10,6L8,6v3h2L10,6z"/>
|
||||
</vector>
|
||||
|
||||
@@ -1,45 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="512"
|
||||
android:viewportHeight="512">
|
||||
<path
|
||||
android:fillColor="#e8f449"
|
||||
android:pathData="m512,256c0,141.387 -114.613,256 -256,256s-256,-114.613 -256,-256 114.613,-256 256,-256 256,114.613 256,256zM512,256" />
|
||||
<path
|
||||
android:fillColor="#e8f449"
|
||||
android:pathData="m512,256c0,-10.176 -0.613,-20.207 -1.766,-30.07l-103.234,-103.234 -302,266.609 120.93,120.93c9.863,1.152 19.895,1.766 30.07,1.766 141.387,0 256,-114.613 256,-256zM512,256" />
|
||||
<path
|
||||
android:fillColor="#5c6f74"
|
||||
android:pathData="m187.293,131.543 l68.707,257.762h151v-204.676zM187.293,131.543" />
|
||||
<path
|
||||
android:fillColor="#5c6f74"
|
||||
android:pathData="m105,184.629v204.676h151v-257.762zM105,184.629" />
|
||||
<path
|
||||
android:fillColor="#eaf7ff"
|
||||
android:pathData="m222.684,166.934 l33.316,204.676h133.305v-204.676zM222.684,166.934" />
|
||||
<path
|
||||
android:fillColor="#eaf7ff"
|
||||
android:pathData="m122.695,166.934h133.305v204.676h-133.305zM122.695,166.934" />
|
||||
<path
|
||||
android:fillColor="#f85b3f"
|
||||
android:pathData="m407,184.629v-61.934h-61.934l-17.695,30.965 17.695,30.969zM407,184.629" />
|
||||
<path
|
||||
android:fillColor="#3e575f"
|
||||
android:pathData="m345.066,184.629v-61.934h-89.066l-17.695,30.965 17.695,30.969zM345.066,184.629" />
|
||||
<path
|
||||
android:fillColor="#3e575f"
|
||||
android:pathData="m105,122.695h151v61.934h-151zM105,122.695" />
|
||||
<path
|
||||
android:fillColor="#2b5c74"
|
||||
android:pathData="m286.645,277.668 l-5.469,-16.828 -16.328,5.305v-17.168h-17.695v32.219l18.938,26.066 14.316,-10.402 -10.09,-13.887zM286.645,277.668" />
|
||||
<path
|
||||
android:fillColor="#2b5c74"
|
||||
android:pathData="m369.004,277.668 l-5.469,-16.828 -16.324,5.305v-17.168h-17.699v17.168l-16.328,-5.305 -5.465,16.828 16.328,5.305 -10.094,13.887 14.316,10.402 10.09,-13.887 10.09,13.887 14.316,-10.398 -10.09,-13.891zM369.004,277.668" />
|
||||
<path
|
||||
android:fillColor="#2b5c74"
|
||||
android:pathData="m204.281,277.668 l-5.465,-16.828 -16.328,5.305v-17.168h-17.699v17.168l-16.324,-5.305 -5.469,16.828 16.328,5.305 -10.09,13.891 14.316,10.398 10.09,-13.887 10.09,13.887 14.316,-10.402 -10.094,-13.887zM204.281,277.668" />
|
||||
<path
|
||||
android:fillColor="#2b5c74"
|
||||
android:pathData="m256,269.02 l-25.176,-8.18 -5.469,16.828 16.328,5.305 -10.09,13.887 14.316,10.402 10.09,-13.891zM256,269.02" />
|
||||
</vector>
|
||||
9
app/src/main/res/drawable/ic_mail.xml
Normal file
9
app/src/main/res/drawable/ic_mail.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="M3,3h18a1,1 0,0 1,1 1v16a1,1 0,0 1,-1 1L3,21a1,1 0,0 1,-1 -1L2,4a1,1 0,0 1,1 -1zM20,7.238l-7.928,7.1L4,7.216L4,19h16L20,7.238zM4.511,5l7.55,6.662L19.502,5L4.511,5z"/>
|
||||
</vector>
|
||||
9
app/src/main/res/drawable/ic_map.xml
Normal file
9
app/src/main/res/drawable/ic_map.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="M12,20.9l4.95,-4.95a7,7 0,1 0,-9.9 0L12,20.9zM12,23.728l-6.364,-6.364a9,9 0,1 1,12.728 0L12,23.728zM12,13a2,2 0,1 0,0 -4,2 2,0 0,0 0,4zM12,15a4,4 0,1 1,0 -8,4 4,0 0,1 0,8z"/>
|
||||
</vector>
|
||||
@@ -4,6 +4,6 @@
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="?android:attr/colorControlNormal"
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M6.235,6.453a8,8 0,0 0,8.817 12.944c0.115,-0.75 -0.137,-1.47 -0.24,-1.722 -0.23,-0.56 -0.988,-1.517 -2.253,-2.844 -0.338,-0.355 -0.316,-0.628 -0.195,-1.437l0.013,-0.091c0.082,-0.554 0.22,-0.882 2.085,-1.178 0.948,-0.15 1.197,0.228 1.542,0.753l0.116,0.172c0.328,0.48 0.571,0.59 0.938,0.756 0.165,0.075 0.37,0.17 0.645,0.325 0.652,0.373 0.652,0.794 0.652,1.716v0.105c0,0.391 -0.038,0.735 -0.098,1.034a8.002,8.002 0,0 0,-3.105 -12.341c-0.553,0.373 -1.312,0.902 -1.577,1.265 -0.135,0.185 -0.327,1.132 -0.95,1.21 -0.162,0.02 -0.381,0.006 -0.613,-0.009 -0.622,-0.04 -1.472,-0.095 -1.744,0.644 -0.173,0.468 -0.203,1.74 0.356,2.4 0.09,0.105 0.107,0.3 0.046,0.519 -0.08,0.287 -0.241,0.462 -0.292,0.498 -0.096,-0.056 -0.288,-0.279 -0.419,-0.43 -0.313,-0.365 -0.705,-0.82 -1.211,-0.96 -0.184,-0.051 -0.386,-0.093 -0.583,-0.135 -0.549,-0.115 -1.17,-0.246 -1.315,-0.554 -0.106,-0.226 -0.105,-0.537 -0.105,-0.865 0,-0.417 0,-0.888 -0.204,-1.345a1.276,1.276 0,0 0,-0.306 -0.43zM12,22C6.477,22 2,17.523 2,12S6.477,2 12,2s10,4.477 10,10 -4.477,10 -10,10z"/>
|
||||
</vector>
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
<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="M12,22C6.477,22 2,17.523 2,12S6.477,2 12,2s10,4.477 10,10 -4.477,10 -10,10zM18.355,15.952v-0.105c0,-0.922 0,-1.343 -0.652,-1.716a7.374,7.374 0,0 0,-0.645 -0.325c-0.367,-0.167 -0.61,-0.276 -0.938,-0.756a12.014,12.014 0,0 1,-0.116 -0.172c-0.345,-0.525 -0.594,-0.903 -1.542,-0.753 -1.865,0.296 -2.003,0.624 -2.085,1.178l-0.013,0.091c-0.121,0.81 -0.143,1.082 0.195,1.437 1.265,1.327 2.023,2.284 2.253,2.844 0.112,0.273 0.4,1.1 0.202,1.918a8.185,8.185 0,0 0,3.151 -2.237c0.11,-0.374 0.19,-0.84 0.19,-1.404zM12,3.833c-2.317,0 -4.41,0.966 -5.896,2.516 0.177,0.123 0.331,0.296 0.437,0.534 0.204,0.457 0.204,0.928 0.204,1.345 0,0.328 0,0.64 0.105,0.865 0.144,0.308 0.766,0.44 1.315,0.554 0.197,0.042 0.399,0.084 0.583,0.135 0.506,0.14 0.898,0.595 1.211,0.96 0.13,0.151 0.323,0.374 0.42,0.43 0.05,-0.036 0.211,-0.211 0.29,-0.498 0.062,-0.22 0.044,-0.414 -0.045,-0.52 -0.56,-0.66 -0.529,-1.93 -0.356,-2.399 0.272,-0.739 1.122,-0.684 1.744,-0.644 0.232,0.015 0.45,0.03 0.614,0.009 0.622,-0.078 0.814,-1.025 0.949,-1.21 0.292,-0.4 1.186,-1.003 1.74,-1.375A8.138,8.138 0,0 0,12 3.833z"/>
|
||||
</vector>
|
||||
@@ -1,43 +0,0 @@
|
||||
<!--
|
||||
~ Aurora Store
|
||||
~ Copyright (C) 2019, Rahul Kumar Patel <whyorean@gmail.com>
|
||||
~
|
||||
~ Icon made by Freepik from www.flaticon.com
|
||||
~
|
||||
~ Aurora Store is free software: you can redistribute it and/or modify
|
||||
~ it under the terms of the GNU General Public License as published by
|
||||
~ the Free Software Foundation, either version 2 of the License, or
|
||||
~ (at your option) any later version.
|
||||
~
|
||||
~ Aurora Store is distributed in the hope that it will be useful,
|
||||
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
~ GNU General Public License for more details.
|
||||
~
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with Aurora Store. If not, see <http://www.gnu.org/licenses/>.
|
||||
~
|
||||
~
|
||||
-->
|
||||
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="512"
|
||||
android:viewportHeight="512">
|
||||
<path
|
||||
android:fillColor="#899fff"
|
||||
android:pathData="m511.914,256c0,-141.387 -114.594,-256 -255.957,-256 -141.359,0 -255.957,114.613 -255.957,256s114.598,256 255.957,256c141.363,0 255.957,-114.613 255.957,-256zM511.914,256" />
|
||||
<path
|
||||
android:fillColor="#4768FD"
|
||||
android:pathData="m414.543,55.051c34.465,43.613 55.043,98.707 55.043,158.613 0,141.383 -114.598,256 -255.957,256 -59.898,0 -114.98,-20.582 -158.586,-55.055 46.879,59.32 119.449,97.391 200.914,97.391 141.363,0 255.957,-114.613 255.957,-256 0,-81.48 -38.063,-154.063 -97.371,-200.949zM414.543,55.051" />
|
||||
<path
|
||||
android:fillColor="#4768FD"
|
||||
android:pathData="m319.633,391.629h-127.348c-11.582,0 -20.969,-9.391 -20.969,-20.973v-229.313c0,-11.582 9.387,-20.973 20.969,-20.973h127.344c11.582,0 20.969,9.391 20.969,20.973v229.313c0,11.582 -9.387,20.973 -20.965,20.973zM319.633,391.629" />
|
||||
<path
|
||||
android:fillColor="#FFF"
|
||||
android:pathData="m171.316,150.715h169.285v210.57h-169.285zM171.316,150.715" />
|
||||
<path
|
||||
android:fillColor="#4768FD"
|
||||
android:pathData="m294.109,228.43c-3.035,-3.031 -7.953,-3.031 -10.984,0l-38.656,38.664 -15.68,-15.684c-3.031,-3.027 -7.945,-3.031 -10.98,0 -3.031,3.035 -3.031,7.953 0,10.988l21.168,21.172c1.516,1.516 3.504,2.273 5.492,2.273 1.738,0 3.477,-0.582 4.902,-1.742 0.203,-0.164 0.398,-0.344 0.59,-0.531l44.148,-44.156c3.031,-3.035 3.031,-7.949 0,-10.984zM294.109,228.43" />
|
||||
</vector>
|
||||
@@ -4,6 +4,6 @@
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="?android:attr/colorControlNormal"
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M5,18h14v-6.969C19,7.148 15.866,4 12,4s-7,3.148 -7,7.031L5,18zM12,2c4.97,0 9,4.043 9,9.031L21,20L3,20v-8.969C3,6.043 7.03,2 12,2zM9.5,21h5a2.5,2.5 0,1 1,-5 0z"/>
|
||||
</vector>
|
||||
|
||||
@@ -1,34 +0,0 @@
|
||||
<!--
|
||||
~ Aurora Store
|
||||
~ Copyright (C) 2019, Rahul Kumar Patel <whyorean@gmail.com>
|
||||
~
|
||||
~ Aurora Store is free software: you can redistribute it and/or modify
|
||||
~ it under the terms of the GNU General Public License as published by
|
||||
~ the Free Software Foundation, either version 2 of the License, or
|
||||
~ (at your option) any later version.
|
||||
~
|
||||
~ Aurora Store is distributed in the hope that it will be useful,
|
||||
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
~ GNU General Public License for more details.
|
||||
~
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with Aurora Store. If not, see <http://www.gnu.org/licenses/>.
|
||||
~
|
||||
~
|
||||
-->
|
||||
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillAlpha="0.3"
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M10,8.64v6.72L15.27,12z"
|
||||
android:strokeAlpha="0.3" />
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M8,19l11,-7L8,5v14zM10,8.64L15.27,12 10,15.36L10,8.64z" />
|
||||
</vector>
|
||||
@@ -1,29 +0,0 @@
|
||||
<!--
|
||||
~ Aurora Store
|
||||
~ Copyright (C) 2019, Rahul Kumar Patel <whyorean@gmail.com>
|
||||
~
|
||||
~ Aurora Store is free software: you can redistribute it and/or modify
|
||||
~ it under the terms of the GNU General Public License as published by
|
||||
~ the Free Software Foundation, either version 2 of the License, or
|
||||
~ (at your option) any later version.
|
||||
~
|
||||
~ Aurora Store is distributed in the hope that it will be useful,
|
||||
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
~ GNU General Public License for more details.
|
||||
~
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with Aurora Store. If not, see <http://www.gnu.org/licenses/>.
|
||||
~
|
||||
~
|
||||
-->
|
||||
|
||||
<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="?android:attr/colorForeground"
|
||||
android:pathData="M21,4L3,4c-1.1,0 -2,0.9 -2,2v13c0,1.1 0.9,2 2,2h18c1.1,0 2,-0.9 2,-2L23,6c0,-1.1 -0.9,-2 -2,-2zM3,19L3,6h8v13L3,19zM21,19h-8L13,6h8v13zM14,9.5h6L20,11h-6zM14,12h6v1.5h-6zM14,14.5h6L20,16h-6z" />
|
||||
</vector>
|
||||
@@ -1,52 +0,0 @@
|
||||
<!--
|
||||
~ Aurora Store
|
||||
~ Copyright (C) 2019, Rahul Kumar Patel <whyorean@gmail.com>
|
||||
~
|
||||
~ Icon made by Freepik from www.flaticon.com
|
||||
~
|
||||
~ Aurora Store is free software: you can redistribute it and/or modify
|
||||
~ it under the terms of the GNU General Public License as published by
|
||||
~ the Free Software Foundation, either version 2 of the License, or
|
||||
~ (at your option) any later version.
|
||||
~
|
||||
~ Aurora Store is distributed in the hope that it will be useful,
|
||||
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
~ GNU General Public License for more details.
|
||||
~
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with Aurora Store. If not, see <http://www.gnu.org/licenses/>.
|
||||
~
|
||||
~
|
||||
-->
|
||||
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="512"
|
||||
android:viewportHeight="512">
|
||||
<path
|
||||
android:fillColor="#808080"
|
||||
android:pathData="M504.92,446.326c9.44,9.44 9.44,24.74 0,34.18c-4.72,4.72 -10.905,7.08 -17.09,7.08s-12.37,-2.36 -17.09,-7.08l-97.773,-97.761l-0.012,-0.012c6.499,-4.615 12.695,-9.847 18.52,-15.672c5.825,-5.813 11.044,-12.009 15.66,-18.497h0.012L504.92,446.326z" />
|
||||
<path
|
||||
android:fillColor="#808080"
|
||||
android:pathData="M407.626,383.336c4.72,-4.72 10.905,-7.08 17.09,-7.08s12.37,2.36 17.09,7.08l0.223,0.107l-34.882,-34.877h-0.012c-4.615,6.487 -9.835,12.683 -15.66,18.496c-5.825,5.825 -12.021,11.056 -18.52,15.672l0.011,0.011l33.565,33.562C398.227,406.811 398.574,392.387 407.626,383.336z" />
|
||||
<path
|
||||
android:fillColor="#A6E2E3"
|
||||
android:pathData="M0,24.414h490.61v216.24h-490.61z" />
|
||||
<path
|
||||
android:fillColor="#A6E2E3"
|
||||
android:pathData="M287.24,264.86m-121.19,0a121.19,121.19 0,1 1,242.38 0a121.19,121.19 0,1 1,-242.38 0" />
|
||||
<path
|
||||
android:fillColor="#C0EAEB"
|
||||
android:pathData="M166.66,277.027c6.104,61.216 57.76,109.019 120.583,109.019s114.478,-47.803 120.583,-109.019L166.66,277.027L166.66,277.027z" />
|
||||
<path
|
||||
android:fillColor="#808080"
|
||||
android:pathData="M432.108,240.654c6.08,37.075 -2.244,76.056 -24.972,107.911c-4.615,6.487 -9.835,12.684 -15.66,18.497c-5.825,5.825 -12.021,11.056 -18.52,15.672c-56.757,40.493 -136.068,35.261 -187.001,-15.672c-34.412,-34.412 -47.956,-81.787 -40.632,-126.407c4.743,-28.971 18.287,-56.757 40.632,-79.102c56.757,-56.757 148.764,-56.757 205.521,0C413.82,183.897 427.365,211.683 432.108,240.654zM387.255,299.632c13.207,-36.912 5.034,-79.765 -24.53,-109.329c-40.876,-40.876 -107.143,-40.876 -148.02,0c-29.553,29.553 -37.737,72.382 -24.542,109.294c5.046,14.137 13.23,27.402 24.542,38.714c40.876,40.876 107.143,40.876 148.02,0C374.037,326.999 382.21,313.757 387.255,299.632z" />
|
||||
<path
|
||||
android:fillColor="#FFA638"
|
||||
android:pathData="M299.32,228.817l14.646,-14.646c2.929,-2.929 2.929,-7.677 0,-10.606s-7.677,-2.929 -10.607,0l-14.646,14.646l-14.646,-14.646c-2.93,-2.929 -7.678,-2.929 -10.607,0s-2.929,7.678 0,10.606l14.646,14.646l-14.646,14.646c-2.929,2.929 -2.929,7.677 0,10.606c1.465,1.465 3.384,2.197 5.304,2.197c1.919,0 3.839,-0.732 5.304,-2.197l14.646,-14.646l14.646,14.646c1.465,1.464 3.385,2.197 5.304,2.197s3.839,-0.732 5.304,-2.197c2.929,-2.929 2.929,-7.678 0,-10.606L299.32,228.817z" />
|
||||
<path
|
||||
android:fillColor="#4D4D4D"
|
||||
android:pathData="M423.919,85.611H67.311c-4.143,0 -7.5,-3.358 -7.5,-7.5s3.357,-7.5 7.5,-7.5h356.608c4.143,0 7.5,3.358 7.5,7.5S428.062,85.611 423.919,85.611z" />
|
||||
</vector>
|
||||
@@ -1,44 +0,0 @@
|
||||
<!--
|
||||
~ Aurora Store
|
||||
~ Copyright (C) 2019, Rahul Kumar Patel <whyorean@gmail.com>
|
||||
~
|
||||
~ Aurora Store is free software: you can redistribute it and/or modify
|
||||
~ it under the terms of the GNU General Public License as published by
|
||||
~ the Free Software Foundation, either version 2 of the License, or
|
||||
~ (at your option) any later version.
|
||||
~
|
||||
~ Aurora Store is distributed in the hope that it will be useful,
|
||||
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
~ GNU General Public License for more details.
|
||||
~
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with Aurora Store. If not, see <http://www.gnu.org/licenses/>.
|
||||
~
|
||||
~
|
||||
-->
|
||||
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillAlpha="0.3"
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M18,5m-1,0a1,1 0,1 1,2 0a1,1 0,1 1,-2 0"
|
||||
android:strokeAlpha="0.3" />
|
||||
<path
|
||||
android:fillAlpha="0.3"
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M6,12m-1,0a1,1 0,1 1,2 0a1,1 0,1 1,-2 0"
|
||||
android:strokeAlpha="0.3" />
|
||||
<path
|
||||
android:fillAlpha="0.3"
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M18,19.02m-1,0a1,1 0,1 1,2 0a1,1 0,1 1,-2 0"
|
||||
android:strokeAlpha="0.3" />
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M18,16.08c-0.76,0 -1.44,0.3 -1.96,0.77L8.91,12.7c0.05,-0.23 0.09,-0.46 0.09,-0.7s-0.04,-0.47 -0.09,-0.7l7.05,-4.11c0.54,0.5 1.25,0.81 2.04,0.81 1.66,0 3,-1.34 3,-3s-1.34,-3 -3,-3 -3,1.34 -3,3c0,0.24 0.04,0.47 0.09,0.7L8.04,9.81C7.5,9.31 6.79,9 6,9c-1.66,0 -3,1.34 -3,3s1.34,3 3,3c0.79,0 1.5,-0.31 2.04,-0.81l7.12,4.16c-0.05,0.21 -0.08,0.43 -0.08,0.65 0,1.61 1.31,2.92 2.92,2.92s2.92,-1.31 2.92,-2.92c0,-1.61 -1.31,-2.92 -2.92,-2.92zM18,4c0.55,0 1,0.45 1,1s-0.45,1 -1,1 -1,-0.45 -1,-1 0.45,-1 1,-1zM6,13c-0.55,0 -1,-0.45 -1,-1s0.45,-1 1,-1 1,0.45 1,1 -0.45,1 -1,1zM18,20.02c-0.55,0 -1,-0.45 -1,-1s0.45,-1 1,-1 1,0.45 1,1 -0.45,1 -1,1z" />
|
||||
</vector>
|
||||
9
app/src/main/res/drawable/ic_shield.xml
Normal file
9
app/src/main/res/drawable/ic_shield.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="M12,1l8.217,1.826a1,1 0,0 1,0.783 0.976v9.987a6,6 0,0 1,-2.672 4.992L12,23l-6.328,-4.219A6,6 0,0 1,3 13.79L3,3.802a1,1 0,0 1,0.783 -0.976L12,1zM12,3.049L5,4.604v9.185a4,4 0,0 0,1.781 3.328L12,20.597l5.219,-3.48A4,4 0,0 0,19 13.79L19,4.604L12,3.05zM12,7a2,2 0,0 1,1.001 3.732L13,15h-2v-4.268A2,2 0,0 1,12 7z"/>
|
||||
</vector>
|
||||
@@ -4,6 +4,6 @@
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="?android:attr/colorControlNormal"
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M12,2c5.522,0 10,3.978 10,8.889a5.558,5.558 0,0 1,-5.556 5.555h-1.966c-0.922,0 -1.667,0.745 -1.667,1.667 0,0.422 0.167,0.811 0.422,1.1 0.267,0.3 0.434,0.689 0.434,1.122C13.667,21.256 12.9,22 12,22 6.478,22 2,17.522 2,12S6.478,2 12,2zM10.811,18.111a3.664,3.664 0,0 1,3.667 -3.667h1.966A3.558,3.558 0,0 0,20 10.89C20,7.139 16.468,4 12,4a8,8 0,0 0,-0.676 15.972,3.648 3.648,0 0,1 -0.513,-1.86zM7.5,12a1.5,1.5 0,1 1,0 -3,1.5 1.5,0 0,1 0,3zM16.5,12a1.5,1.5 0,1 1,0 -3,1.5 1.5,0 0,1 0,3zM12,9a1.5,1.5 0,1 1,0 -3,1.5 1.5,0 0,1 0,3z" />
|
||||
</vector>
|
||||
|
||||
@@ -1,61 +0,0 @@
|
||||
<!--
|
||||
~ Aurora Store
|
||||
~ Copyright (C) 2019, Rahul Kumar Patel <whyorean@gmail.com>
|
||||
~
|
||||
~ Icon made by Freepik from www.flaticon.com
|
||||
~
|
||||
~ Aurora Store is free software: you can redistribute it and/or modify
|
||||
~ it under the terms of the GNU General Public License as published by
|
||||
~ the Free Software Foundation, either version 2 of the License, or
|
||||
~ (at your option) any later version.
|
||||
~
|
||||
~ Aurora Store is distributed in the hope that it will be useful,
|
||||
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
~ GNU General Public License for more details.
|
||||
~
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with Aurora Store. If not, see <http://www.gnu.org/licenses/>.
|
||||
~
|
||||
~
|
||||
-->
|
||||
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="512"
|
||||
android:viewportHeight="512">
|
||||
<path
|
||||
android:fillColor="#ff5856"
|
||||
android:pathData="m512,256c0,141.387 -114.613,256 -256,256s-256,-114.613 -256,-256 114.613,-256 256,-256 256,114.613 256,256zM512,256" />
|
||||
<path
|
||||
android:fillColor="#484a5e"
|
||||
android:pathData="m363.758,0h-215.543c-26.148,0 -47.422,21.273 -47.422,47.422v412.156c43.059,32.879 96.848,52.422 155.207,52.422 58.348,0 112.125,-19.535 155.18,-52.402v-412.176c0,-26.148 -21.273,-47.422 -47.422,-47.422zM363.758,0" />
|
||||
<path
|
||||
android:fillColor="#7da8ff"
|
||||
android:pathData="m256,512c46.863,0 90.773,-12.609 128.555,-34.602v-429.977c0,-11.484 -9.313,-20.793 -20.797,-20.793h-43.633c-4.48,0 -8.422,2.969 -9.66,7.273l-4.18,14.547c-1.098,3.836 -4.605,6.477 -8.594,6.477h-83.406c-3.988,0 -7.496,-2.641 -8.598,-6.477l-4.125,-14.363c-1.27,-4.418 -5.309,-7.457 -9.902,-7.457h-43.445c-11.484,0 -20.793,9.309 -20.793,20.793v429.965c37.785,21.996 81.703,34.613 128.578,34.613zM256,512" />
|
||||
<path
|
||||
android:fillColor="#ecebed"
|
||||
android:pathData="m167.465,165.328c-44.176,46.766 -43.582,120.723 1.305,166.809 37.426,38.418 94.227,46.418 139.723,24.004 15.621,-7.695 34.336,-4.762 46.969,7.094 0.305,-3.707 1.867,-7.324 4.699,-10.16 2.887,-2.883 6.582,-4.445 10.355,-4.711 -11.379,-13.492 -14.109,-32.516 -6.465,-48.668 21.168,-44.742 13.277,-99.922 -23.68,-136.879 -47.82,-47.82 -126.152,-46.984 -172.906,2.512zM167.465,165.328" />
|
||||
<path
|
||||
android:fillColor="#ff5856"
|
||||
android:pathData="m340.48,248.047c0,47.121 -38.199,85.316 -85.316,85.316 -47.117,0 -85.316,-38.195 -85.316,-85.316 0,-47.117 38.199,-85.313 85.316,-85.313 47.117,0 85.316,38.195 85.316,85.313zM340.48,248.047" />
|
||||
<path
|
||||
android:fillColor="#cc3636"
|
||||
android:pathData="m255.941,258.891c-7.352,0 -13.313,-5.961 -13.313,-13.313v-37.184c0,-7.352 5.957,-13.313 13.313,-13.313 7.352,0 13.313,5.961 13.313,13.313v37.184c0,7.352 -5.961,13.313 -13.313,13.313zM255.941,258.891" />
|
||||
<path
|
||||
android:fillColor="#cc3636"
|
||||
android:pathData="m255.941,229.926c-7.352,0 -13.313,-5.961 -13.313,-13.313v28.965c0,7.352 5.961,13.313 13.313,13.313 7.352,0 13.313,-5.961 13.313,-13.313v-28.965c0,7.352 -5.961,13.313 -13.313,13.313zM255.941,229.926" />
|
||||
<path
|
||||
android:fillColor="#cc3636"
|
||||
android:pathData="m255.953,296.832c-7.352,0 -13.32,-5.961 -13.32,-13.313 0,-7.352 5.957,-13.316 13.309,-13.316h0.012c7.355,0 13.316,5.965 13.316,13.316 -0.004,7.352 -5.961,13.313 -13.316,13.313zM255.953,296.832" />
|
||||
<path
|
||||
android:fillColor="#fc974d"
|
||||
android:pathData="m385.02,351.223 l62.738,62.738c7.375,7.375 7.375,19.332 0,26.711 -7.375,7.375 -19.336,7.375 -26.711,0l-62.738,-62.738c-7.375,-7.375 -7.375,-19.336 0,-26.711s19.336,-7.375 26.711,0zM385.02,351.223" />
|
||||
<path
|
||||
android:fillColor="#f47f31"
|
||||
android:pathData="m397.734,363.934 l-12.715,-12.711c-7.375,-7.379 -19.336,-7.379 -26.711,0 -7.375,7.375 -7.375,19.332 0,26.711l12.711,12.711zM397.734,363.934" />
|
||||
<path
|
||||
android:fillColor="#6d6d7c"
|
||||
android:pathData="m267.094,35.855h-18.906c-5.125,0 -9.285,-4.156 -9.285,-9.285 0,-5.129 4.16,-9.285 9.285,-9.285h18.906c5.129,0 9.285,4.156 9.285,9.285 0,5.129 -4.156,9.285 -9.285,9.285zM267.094,35.855" />
|
||||
</vector>
|
||||
@@ -4,6 +4,6 @@
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="?android:attr/colorControlNormal"
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M12,2c5.52,0 10,4.48 10,10s-4.48,10 -10,10S2,17.52 2,12 6.48,2 12,2zM12,20c4.42,0 8,-3.58 8,-8s-3.58,-8 -8,-8 -8,3.58 -8,8 3.58,8 8,8zM15.536,7.05l1.414,1.414 -4.95,4.95L10.586,12l4.95,-4.95z"/>
|
||||
</vector>
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><!--
|
||||
~ Aurora Store
|
||||
~ Copyright (C) 2019, Rahul Kumar Patel <whyorean@gmail.com>
|
||||
~
|
||||
~ Aurora Store is free software: you can redistribute it and/or modify
|
||||
~ it under the terms of the GNU General Public License as published by
|
||||
~ the Free Software Foundation, either version 2 of the License, or
|
||||
~ (at your option) any later version.
|
||||
~
|
||||
~ Aurora Store is distributed in the hope that it will be useful,
|
||||
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
~ GNU General Public License for more details.
|
||||
~
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with Aurora Store. If not, see <http://www.gnu.org/licenses/>.
|
||||
~
|
||||
~
|
||||
-->
|
||||
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<size
|
||||
android:width="32dp"
|
||||
android:height="32dp" />
|
||||
<corners android:radius="12dp" />
|
||||
<solid android:color="?android:attr/colorBackground" />
|
||||
</shape>
|
||||
@@ -1,28 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><!--
|
||||
~ Aurora Store
|
||||
~ Copyright (C) 2019, Rahul Kumar Patel <whyorean@gmail.com>
|
||||
~
|
||||
~ Aurora Store is free software: you can redistribute it and/or modify
|
||||
~ it under the terms of the GNU General Public License as published by
|
||||
~ the Free Software Foundation, either version 2 of the License, or
|
||||
~ (at your option) any later version.
|
||||
~
|
||||
~ Aurora Store is distributed in the hope that it will be useful,
|
||||
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
~ GNU General Public License for more details.
|
||||
~
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with Aurora Store. If not, see <http://www.gnu.org/licenses/>.
|
||||
~
|
||||
~
|
||||
-->
|
||||
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<solid android:color="?android:attr/colorBackground" />
|
||||
<stroke
|
||||
android:width="1dp"
|
||||
android:color="?android:strokeColor" />
|
||||
<corners android:radius="24dp" />
|
||||
</shape>
|
||||
@@ -74,8 +74,21 @@
|
||||
app:autoSizeTextType="uniform"
|
||||
tools:visibility="visible" />
|
||||
|
||||
<!-- Changelog -->
|
||||
<include layout="@layout/include_details_changelog" />
|
||||
<HorizontalScrollView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:clipToPadding="false"
|
||||
android:paddingStart="@dimen/margin_normal"
|
||||
android:paddingEnd="@dimen/margin_normal"
|
||||
android:scrollbars="none">
|
||||
|
||||
<com.google.android.material.chip.ChipGroup
|
||||
android:id="@+id/chip_group_features"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:visibility="invisible"
|
||||
tools:visibility="visible"/>
|
||||
</HorizontalScrollView>
|
||||
|
||||
<!-- Read More -->
|
||||
<include layout="@layout/include_details_readmore" />
|
||||
@@ -85,6 +98,7 @@
|
||||
android:id="@+id/recycler"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/margin_small"
|
||||
android:orientation="horizontal"
|
||||
android:visibility="invisible"
|
||||
tools:itemCount="5"
|
||||
@@ -128,26 +142,25 @@
|
||||
<!-- Beta -->
|
||||
<include layout="@layout/include_details_beta" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/cluster_links"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="start"
|
||||
android:orientation="vertical"
|
||||
android:visibility="gone" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/developer_layout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="@dimen/margin_medium"
|
||||
android:background="@drawable/generic_padded_bg"
|
||||
android:gravity="start"
|
||||
android:orientation="vertical"
|
||||
android:visibility="gone" />
|
||||
<!-- Dev Info -->
|
||||
<include layout="@layout/include_details_dev_info" />
|
||||
|
||||
<!-- Bottom Actions -->
|
||||
<include layout="@layout/include_details_bottom" />
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/height_searchview"
|
||||
android:layout_marginTop="@dimen/margin_small"
|
||||
android:background="@color/colorScrim">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/txt_footer"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerInParent="true"
|
||||
android:textAppearance="@style/TextAppearance.Aurora.Line1" />
|
||||
</RelativeLayout>
|
||||
</LinearLayout>
|
||||
</androidx.core.widget.NestedScrollView>
|
||||
|
||||
|
||||
@@ -58,6 +58,7 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_gravity="start"
|
||||
android:background="?android:attr/windowBackground"
|
||||
app:headerLayout="@layout/item_nav_header"
|
||||
app:itemIconTint="?android:attr/colorAccent"
|
||||
app:itemTextAppearance="@style/TextAppearance.Aurora.Line2"
|
||||
|
||||
104
app/src/main/res/layout/activity_read_more.xml
Normal file
104
app/src/main/res/layout/activity_read_more.xml
Normal file
@@ -0,0 +1,104 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><!--
|
||||
~ Aurora Store
|
||||
~ Copyright (C) 2019, Rahul Kumar Patel <whyorean@gmail.com>
|
||||
~
|
||||
~ Aurora Store is free software: you can redistribute it and/or modify
|
||||
~ it under the terms of the GNU General Public License as published by
|
||||
~ the Free Software Foundation, either version 2 of the License, or
|
||||
~ (at your option) any later version.
|
||||
~
|
||||
~ Aurora Store is distributed in the hope that it will be useful,
|
||||
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
~ GNU General Public License for more details.
|
||||
~
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with Aurora Store. If not, see <http://www.gnu.org/licenses/>.
|
||||
~
|
||||
~
|
||||
-->
|
||||
|
||||
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/coordinator"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical">
|
||||
|
||||
<include layout="@layout/toolbar_main" />
|
||||
|
||||
<androidx.core.widget.NestedScrollView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_below="@id/layout_changes"
|
||||
android:overScrollMode="never"
|
||||
app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical"
|
||||
android:padding="@dimen/margin_small">
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/layout_changes"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/generic_padded_bg">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/txt_new"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="@dimen/margin_xsmall"
|
||||
android:text="@string/details_new_changes"
|
||||
android:textAppearance="@style/TextAppearance.Aurora.SubTitle"
|
||||
android:textColor="?android:attr/colorAccent" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/txt_changelog"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/txt_new"
|
||||
android:autoLink="web|email"
|
||||
android:textColor="?android:attr/textColorPrimary"
|
||||
android:textIsSelectable="true"
|
||||
tools:text="@string/action_unknown" />
|
||||
</RelativeLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/margin_medium"
|
||||
android:background="@drawable/generic_padded_bg">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/txt_more"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="@dimen/margin_xsmall"
|
||||
android:text="@string/action_more"
|
||||
android:textAppearance="@style/TextAppearance.Aurora.SubTitle"
|
||||
android:textColor="?android:attr/colorAccent" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/content_readMore"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/txt_more"
|
||||
android:autoLink="web|email"
|
||||
android:textColor="?android:attr/textColorPrimary"
|
||||
android:textIsSelectable="true" />
|
||||
</RelativeLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/layout_more"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/margin_medium"
|
||||
android:background="@drawable/generic_padded_bg"
|
||||
android:orientation="vertical" />
|
||||
</LinearLayout>
|
||||
</androidx.core.widget.NestedScrollView>
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||
@@ -1,36 +0,0 @@
|
||||
<!--
|
||||
~ Aurora Store
|
||||
~ Copyright (C) 2019, Rahul Kumar Patel <whyorean@gmail.com>
|
||||
~
|
||||
~ Aurora Store is free software: you can redistribute it and/or modify
|
||||
~ it under the terms of the GNU General Public License as published by
|
||||
~ the Free Software Foundation, either version 2 of the License, or
|
||||
~ (at your option) any later version.
|
||||
~
|
||||
~ Aurora Store is distributed in the hope that it will be useful,
|
||||
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
~ GNU General Public License for more details.
|
||||
~
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with Aurora Store. If not, see <http://www.gnu.org/licenses/>.
|
||||
~
|
||||
~
|
||||
-->
|
||||
|
||||
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/coordinator"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/recycler"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:clipToPadding="false"
|
||||
android:paddingTop="@dimen/margin_small"
|
||||
android:scrollbarStyle="outsideOverlay"
|
||||
android:scrollbars="vertical"
|
||||
tools:listitem="@layout/item_installed" />
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||
@@ -46,7 +46,7 @@
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/btn_positive"
|
||||
style="@style/Widget.MaterialComponents.Button.OutlinedButton"
|
||||
style="@style/Widget.MaterialComponents.Button.UnelevatedButton"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="@dimen/height_button"
|
||||
android:layout_margin="@dimen/margin_small"
|
||||
@@ -59,7 +59,6 @@
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@id/btn_negative"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:strokeColor="?android:colorAccent"
|
||||
tools:visibility="visible" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
156
app/src/main/res/layout/include_details_dev_info.xml
Normal file
156
app/src/main/res/layout/include_details_dev_info.xml
Normal file
@@ -0,0 +1,156 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><!--
|
||||
~ Aurora Store
|
||||
~ Copyright (C) 2019, Rahul Kumar Patel <whyorean@gmail.com>
|
||||
~
|
||||
~ Aurora Store is free software: you can redistribute it and/or modify
|
||||
~ it under the terms of the GNU General Public License as published by
|
||||
~ the Free Software Foundation, either version 2 of the License, or
|
||||
~ (at your option) any later version.
|
||||
~
|
||||
~ Aurora Store is distributed in the hope that it will be useful,
|
||||
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
~ GNU General Public License for more details.
|
||||
~
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with Aurora Store. If not, see <http://www.gnu.org/licenses/>.
|
||||
~
|
||||
~
|
||||
-->
|
||||
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/developer_container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="@dimen/margin_medium"
|
||||
android:background="@drawable/generic_padded_bg"
|
||||
android:orientation="vertical"
|
||||
android:visibility="invisible"
|
||||
tools:visibility="visible">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="@dimen/margin_xxsmall"
|
||||
android:text="@string/details_dev_details"
|
||||
android:textAlignment="viewStart"
|
||||
android:textAppearance="@style/TextAppearance.Aurora.SubTitle" />
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/layoutsite"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:layout_weight="1"
|
||||
android:orientation="vertical"
|
||||
android:paddingTop="@dimen/margin_xxsmall"
|
||||
android:paddingBottom="@dimen/margin_xxsmall">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/img_dev"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="@dimen/margin_xxsmall"
|
||||
android:src="@drawable/ic_network"
|
||||
android:tint="?android:attr/colorAccent" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/txt_dev_web_title"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/margin_normal"
|
||||
android:layout_toEndOf="@id/img_dev"
|
||||
android:text="@string/details_dev_website"
|
||||
android:textAppearance="@style/TextAppearance.Aurora.Line2"
|
||||
android:textColor="?android:attr/textColorPrimary"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/txt_dev_web_desc"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/txt_dev_web_title"
|
||||
android:layout_alignStart="@id/txt_dev_web_title"
|
||||
android:textAppearance="@style/TextAppearance.Aurora.Line3"
|
||||
android:textIsSelectable="true" />
|
||||
</RelativeLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/layout_email"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:layout_weight="1"
|
||||
android:orientation="vertical"
|
||||
android:paddingTop="@dimen/margin_xxsmall"
|
||||
android:paddingBottom="@dimen/margin_xxsmall">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/img_dev_email"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="@dimen/margin_xxsmall"
|
||||
android:src="@drawable/ic_mail"
|
||||
android:tint="?android:attr/colorAccent" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/txt_dev_email_title"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/margin_normal"
|
||||
android:layout_toEndOf="@id/img_dev_email"
|
||||
android:text="@string/details_dev_email"
|
||||
android:textAppearance="@style/TextAppearance.Aurora.Line2"
|
||||
android:textColor="?android:attr/textColorPrimary"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/txt_dev_email_desc"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/txt_dev_email_title"
|
||||
android:layout_alignStart="@id/txt_dev_email_title"
|
||||
android:textAppearance="@style/TextAppearance.Aurora.Line3"
|
||||
android:textIsSelectable="true" />
|
||||
</RelativeLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/layout_addr"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:layout_weight="1"
|
||||
android:orientation="vertical"
|
||||
android:paddingTop="@dimen/margin_xxsmall"
|
||||
android:paddingBottom="@dimen/margin_xxsmall">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/img_dev_addr"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="@dimen/margin_xxsmall"
|
||||
android:src="@drawable/ic_map"
|
||||
android:tint="?android:attr/colorAccent" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/txt_dev_addr_title"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/margin_normal"
|
||||
android:layout_toEndOf="@id/img_dev_addr"
|
||||
android:text="@string/details_dev_address"
|
||||
android:textAppearance="@style/TextAppearance.Aurora.Line2"
|
||||
android:textColor="?android:attr/textColorPrimary"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/txt_dev_addr_desc"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/txt_dev_addr_title"
|
||||
android:layout_alignStart="@id/txt_dev_addr_title"
|
||||
android:textAppearance="@style/TextAppearance.Aurora.Line3"
|
||||
android:textIsSelectable="true" />
|
||||
</RelativeLayout>
|
||||
</LinearLayout>
|
||||
@@ -31,10 +31,11 @@
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/privacy_ico"
|
||||
android:layout_width="@dimen/icon_size_med"
|
||||
android:layout_height="@dimen/icon_size_med"
|
||||
android:layout_width="@dimen/icon_size_cat"
|
||||
android:layout_height="@dimen/icon_size_cat"
|
||||
android:layout_alignParentStart="true"
|
||||
android:src="@drawable/ic_exodus_alt" />
|
||||
android:src="@drawable/ic_shield"
|
||||
android:tint="?android:attr/colorAccent" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/exodus_details"
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
android:id="@+id/more_layout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="?actionBarSize"
|
||||
android:layout_marginBottom="@dimen/margin_normal"
|
||||
android:background="?selectableItemBackground"
|
||||
android:paddingStart="@dimen/margin_medium"
|
||||
android:paddingEnd="@dimen/margin_medium"
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical"
|
||||
android:padding="@dimen/margin_small">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/img"
|
||||
android:layout_width="@dimen/icon_size_small"
|
||||
android:layout_height="@dimen/icon_size_small"
|
||||
android:layout_above="@id/line1"
|
||||
android:layout_centerHorizontal="true"
|
||||
app:tint="?android:attr/colorAccent" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/line1"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerInParent="true"
|
||||
android:layout_margin="@dimen/margin_small"
|
||||
android:textAppearance="@style/TextAppearance.Aurora.Title"
|
||||
tools:text="Error details" />
|
||||
</RelativeLayout>
|
||||
@@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
<?xml version="1.0" encoding="utf-8"?><!--
|
||||
~ Aurora Store
|
||||
~ Copyright (C) 2019, Rahul Kumar Patel <whyorean@gmail.com>
|
||||
~
|
||||
@@ -25,13 +24,13 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:background="?android:selectableItemBackground">
|
||||
|
||||
<ImageView
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/tracker_icon"
|
||||
android:layout_width="@dimen/icon_size_med"
|
||||
android:layout_height="@dimen/icon_size_med"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_margin="@dimen/margin_small"
|
||||
app:srcCompat="@drawable/ic_exodus_alt" />
|
||||
app:srcCompat="@drawable/ic_shield" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
@@ -47,8 +46,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:ellipsize="end"
|
||||
android:maxLines="1"
|
||||
android:textSize="14sp"
|
||||
android:textAppearance="@style/TextAppearance.Aurora.Title" />
|
||||
android:textAppearance="@style/TextAppearance.Aurora.Line1" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/tracker_signature"
|
||||
@@ -56,7 +54,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:ellipsize="end"
|
||||
android:maxLines="1"
|
||||
android:textAppearance="?android:textAppearanceListItemSecondary" />
|
||||
android:textAppearance="@style/TextAppearance.Aurora.Line2" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/tracker_date"
|
||||
@@ -64,8 +62,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:ellipsize="end"
|
||||
android:maxLines="1"
|
||||
android:textAppearance="?android:textAppearanceListItemSecondary"
|
||||
android:textSize="12sp" />
|
||||
android:textAppearance="@style/TextAppearance.Aurora.Line3" />
|
||||
</LinearLayout>
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
14
app/src/main/res/layout/item_feature_chip.xml
Normal file
14
app/src/main/res/layout/item_feature_chip.xml
Normal file
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<com.google.android.material.chip.Chip
|
||||
android:id="@+id/chip"
|
||||
style="@style/Widget.Aurora.Chip.Info"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:clickable="false"
|
||||
tools:text="Video group" />
|
||||
</RelativeLayout>
|
||||
@@ -1,36 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/line1"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentStart="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_marginStart="@dimen/margin_normal"
|
||||
android:layout_marginEnd="@dimen/margin_small"
|
||||
android:layout_toStartOf="@id/btn"
|
||||
android:maxLines="1"
|
||||
android:textAppearance="@style/TextAppearance.Aurora.Line1"
|
||||
app:autoSizeMaxTextSize="16sp"
|
||||
app:autoSizeMinTextSize="12sp"
|
||||
app:autoSizeTextType="uniform"
|
||||
tools:text="Update All Apps" />
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/btn"
|
||||
style="@style/Widget.MaterialComponents.Button.OutlinedButton"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_marginStart="@dimen/margin_small"
|
||||
android:layout_marginEnd="@dimen/margin_medium"
|
||||
android:maxLines="1"
|
||||
android:text="@string/list_update_all" />
|
||||
</RelativeLayout>
|
||||
31
app/src/main/res/layout/item_more_two_column.xml
Normal file
31
app/src/main/res/layout/item_more_two_column.xml
Normal file
@@ -0,0 +1,31 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:paddingTop="@dimen/margin_small"
|
||||
android:paddingBottom="@dimen/margin_small"
|
||||
android:weightSum="2">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/txt_column1"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:maxLines="1"
|
||||
android:textAlignment="viewStart"
|
||||
android:textAppearance="@style/TextAppearance.Aurora.Line2"
|
||||
tools:text="Version" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/txt_column2"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:maxLines="1"
|
||||
android:textAlignment="viewEnd"
|
||||
android:textAppearance="@style/TextAppearance.Aurora.Line2"
|
||||
android:textColor="?android:attr/textColorPrimary"
|
||||
tools:text="1.0" />
|
||||
</LinearLayout>
|
||||
@@ -19,34 +19,40 @@
|
||||
-->
|
||||
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/view_background"
|
||||
android:id="@+id/layout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@color/colorScrim"
|
||||
android:layoutDirection="ltr">
|
||||
android:layout_height="@dimen/height_nav_header"
|
||||
android:background="@color/colorScrim">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/background"
|
||||
android:scaleType="centerCrop"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/img"
|
||||
android:layout_width="@dimen/icon_size"
|
||||
android:layout_height="@dimen/icon_size"
|
||||
android:layout_margin="@dimen/margin_normal" />
|
||||
android:layout_above="@id/line1"
|
||||
android:layout_marginBottom="@dimen/margin_small"
|
||||
android:layout_marginStart="@dimen/margin_normal" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/line1"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/img"
|
||||
android:layout_above="@id/line2"
|
||||
android:layout_alignStart="@id/img"
|
||||
android:layout_marginTop="@dimen/margin_xxsmall"
|
||||
android:textAppearance="@style/TextAppearance.Aurora.Line1" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/line2"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/line1"
|
||||
android:layout_alignStart="@id/img"
|
||||
android:layout_marginTop="@dimen/margin_xxsmall"
|
||||
android:layout_marginBottom="@dimen/margin_normal"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:layout_marginBottom="@dimen/margin_xxsmall"
|
||||
android:textAppearance="@style/TextAppearance.Aurora.Line2" />
|
||||
</RelativeLayout>
|
||||
@@ -1,42 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
~ Aurora Store
|
||||
~ Copyright (C) 2019, Rahul Kumar Patel <whyorean@gmail.com>
|
||||
~
|
||||
~ Aurora Store is free software: you can redistribute it and/or modify
|
||||
~ it under the terms of the GNU General Public License as published by
|
||||
~ the Free Software Foundation, either version 2 of the License, or
|
||||
~ (at your option) any later version.
|
||||
~
|
||||
~ Aurora Store is distributed in the hope that it will be useful,
|
||||
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
~ GNU General Public License for more details.
|
||||
~
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with Aurora Store. If not, see <http://www.gnu.org/licenses/>.
|
||||
~
|
||||
~
|
||||
-->
|
||||
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="?android:attr/selectableItemBackground"
|
||||
android:minHeight="48dp"
|
||||
android:padding="8dp">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/menu_title"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_marginStart="@dimen/margin_normal"
|
||||
android:layout_marginEnd="@dimen/margin_normal"
|
||||
android:ellipsize="end"
|
||||
android:letterSpacing="0.075"
|
||||
android:singleLine="true"
|
||||
android:textAlignment="viewStart"
|
||||
android:textAppearance="?android:textAppearanceListItem"
|
||||
android:textSize="16sp" />
|
||||
</RelativeLayout>
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user