some layout modifications to Updates and AppDetails headers
This commit is contained in:
parent
3f00b2a4fb
commit
24a4da9d89
@ -396,16 +396,6 @@ public class App extends ValueObject implements Comparable<App>, Parcelable {
|
|||||||
return app;
|
return app;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* In order to format all in coming descriptions before they are written
|
|
||||||
* out to the database and used elsewhere, this is needed to intercept
|
|
||||||
* the setting of {@link App#description} to insert the format method.
|
|
||||||
*/
|
|
||||||
@JsonProperty("description")
|
|
||||||
private void setDescription(String description) { // NOPMD
|
|
||||||
this.description = formatDescription(description);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Parses the {@code localized} block in the incoming index metadata,
|
* Parses the {@code localized} block in the incoming index metadata,
|
||||||
* choosing the best match in terms of locale/language while filling as
|
* choosing the best match in terms of locale/language while filling as
|
||||||
@ -508,8 +498,11 @@ public class App extends ValueObject implements Comparable<App>, Parcelable {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
whatsNew = getLocalizedEntry(localized, localesToUse, "whatsNew");
|
String value = getLocalizedEntry(localized, localesToUse, "whatsNew");
|
||||||
String value = getLocalizedEntry(localized, localesToUse, "video");
|
if (!TextUtils.isEmpty(value)) {
|
||||||
|
whatsNew = value;
|
||||||
|
}
|
||||||
|
value = getLocalizedEntry(localized, localesToUse, "video");
|
||||||
if (!TextUtils.isEmpty(value)) {
|
if (!TextUtils.isEmpty(value)) {
|
||||||
video = value.split("\n", 1)[0];
|
video = value.split("\n", 1)[0];
|
||||||
}
|
}
|
||||||
|
@ -505,7 +505,7 @@ public class AppDetailsRecyclerViewAdapter
|
|||||||
suggestedApk.versionName).toUpperCase(locale));
|
suggestedApk.versionName).toUpperCase(locale));
|
||||||
sbWhatsNew.append("\n\n");
|
sbWhatsNew.append("\n\n");
|
||||||
sbWhatsNew.append(app.whatsNew);
|
sbWhatsNew.append(app.whatsNew);
|
||||||
whatsNewView.setText(sbWhatsNew);
|
whatsNewView.setText(trimTrailingNewlines(sbWhatsNew));
|
||||||
whatsNewView.setVisibility(View.VISIBLE);
|
whatsNewView.setVisibility(View.VISIBLE);
|
||||||
|
|
||||||
// Set focus on the header section to prevent auto scrolling to
|
// Set focus on the header section to prevent auto scrolling to
|
||||||
@ -540,17 +540,15 @@ public class AppDetailsRecyclerViewAdapter
|
|||||||
});
|
});
|
||||||
if (app.antiFeatures != null && app.antiFeatures.length > 0) {
|
if (app.antiFeatures != null && app.antiFeatures.length > 0) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("<ul>");
|
|
||||||
for (String af : app.antiFeatures) {
|
for (String af : app.antiFeatures) {
|
||||||
String afdesc = descAntiFeature(af);
|
String afdesc = descAntiFeature(af);
|
||||||
sb.append("<li><div><a href=\"https://f-droid.org/wiki/page/Antifeature:")
|
sb.append("<p><a href=\"https://f-droid.org/wiki/page/Antifeature:")
|
||||||
.append(af)
|
.append(af)
|
||||||
.append("\">")
|
.append("\">")
|
||||||
.append(afdesc)
|
.append(afdesc)
|
||||||
.append("</a></div></li>");
|
.append("</a></p>");
|
||||||
}
|
}
|
||||||
sb.append("</ul>");
|
antiFeaturesView.setText(trimTrailingNewlines(Html.fromHtml(sb.toString())));
|
||||||
antiFeaturesView.setText(Html.fromHtml(sb.toString()));
|
|
||||||
antiFeaturesView.setMovementMethod(LinkMovementMethod.getInstance());
|
antiFeaturesView.setMovementMethod(LinkMovementMethod.getInstance());
|
||||||
} else {
|
} else {
|
||||||
antiFeaturesView.setVisibility(View.GONE);
|
antiFeaturesView.setVisibility(View.GONE);
|
||||||
@ -1093,7 +1091,7 @@ public class AppDetailsRecyclerViewAdapter
|
|||||||
Repo repo = RepoProvider.Helper.findById(context, apk.repoId);
|
Repo repo = RepoProvider.Helper.findById(context, apk.repoId);
|
||||||
if (repo != null) {
|
if (repo != null) {
|
||||||
repository.setVisibility(View.VISIBLE);
|
repository.setVisibility(View.VISIBLE);
|
||||||
repository.setText("Repository: " + repo.getName());
|
repository.setText(String.format(repo.getName(), context.getString(R.string.app_repository)));
|
||||||
} else {
|
} else {
|
||||||
repository.setVisibility(View.INVISIBLE);
|
repository.setVisibility(View.INVISIBLE);
|
||||||
}
|
}
|
||||||
@ -1170,7 +1168,7 @@ public class AppDetailsRecyclerViewAdapter
|
|||||||
}
|
}
|
||||||
|
|
||||||
private String getApiText(final Apk apk) {
|
private String getApiText(final Apk apk) {
|
||||||
String apiText = "Version: ";
|
String apiText = "Android: ";
|
||||||
if (apk.minSdkVersion > 0 && apk.maxSdkVersion < Apk.SDK_VERSION_MAX_VALUE) {
|
if (apk.minSdkVersion > 0 && apk.maxSdkVersion < Apk.SDK_VERSION_MAX_VALUE) {
|
||||||
apiText += context.getString(R.string.minsdk_up_to_maxsdk,
|
apiText += context.getString(R.string.minsdk_up_to_maxsdk,
|
||||||
Utils.getAndroidVersionName(apk.minSdkVersion),
|
Utils.getAndroidVersionName(apk.minSdkVersion),
|
||||||
|
@ -138,6 +138,7 @@ public class UpdatesAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder
|
|||||||
public void toggleAllUpdateableApps() {
|
public void toggleAllUpdateableApps() {
|
||||||
showAllUpdateableApps = !showAllUpdateableApps;
|
showAllUpdateableApps = !showAllUpdateableApps;
|
||||||
populateItems();
|
populateItems();
|
||||||
|
notifyDataSetChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1,5 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
|
||||||
<corners android:radius="4dp" />
|
|
||||||
<solid android:color="#ffeff4f9" />
|
|
||||||
</shape>
|
|
@ -1,6 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:shape="rectangle">
|
android:shape="rectangle">
|
||||||
<corners android:radius="3dp" />
|
|
||||||
<solid android:color="#3c3c3e" />
|
<solid android:color="#3c3c3e" />
|
||||||
</shape>
|
</shape>
|
@ -1,6 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:shape="rectangle">
|
android:shape="rectangle">
|
||||||
<corners android:radius="3dp" />
|
|
||||||
<solid android:color="#eff4f9" />
|
<solid android:color="#eff4f9" />
|
||||||
</shape>
|
</shape>
|
@ -1,6 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:shape="rectangle">
|
android:shape="rectangle">
|
||||||
<corners android:radius="3dp" />
|
|
||||||
<solid android:color="#262627" />
|
<solid android:color="#262627" />
|
||||||
</shape>
|
</shape>
|
@ -12,13 +12,13 @@
|
|||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="vertical"
|
android:paddingTop="8dp"
|
||||||
android:paddingBottom="8dp">
|
android:paddingBottom="8dp"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
<RelativeLayout
|
<RelativeLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginTop="8dp"
|
|
||||||
android:layout_marginStart="8dp"
|
android:layout_marginStart="8dp"
|
||||||
android:layout_marginLeft="8dp"
|
android:layout_marginLeft="8dp"
|
||||||
android:layout_marginEnd="8dp"
|
android:layout_marginEnd="8dp"
|
||||||
@ -77,7 +77,6 @@
|
|||||||
android:textAppearance="@style/DetailsLastUpdatedStyle"
|
android:textAppearance="@style/DetailsLastUpdatedStyle"
|
||||||
android:textColor="@android:color/darker_gray"
|
android:textColor="@android:color/darker_gray"
|
||||||
tools:text="Update released 12 days ago" />
|
tools:text="Update released 12 days ago" />
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
|
|
||||||
@ -86,10 +85,6 @@
|
|||||||
android:id="@+id/progress_layout"
|
android:id="@+id/progress_layout"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_alignParentEnd="true"
|
|
||||||
android:layout_alignParentLeft="true"
|
|
||||||
android:layout_alignParentRight="true"
|
|
||||||
android:layout_alignParentStart="true"
|
|
||||||
android:layout_below="@id/icon_and_name"
|
android:layout_below="@id/icon_and_name"
|
||||||
tools:visibility="gone">
|
tools:visibility="gone">
|
||||||
|
|
||||||
@ -120,7 +115,7 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_toLeftOf="@id/progress_cancel"
|
android:layout_toLeftOf="@id/progress_cancel"
|
||||||
android:layout_toStartOf="@id/progress_cancel"
|
android:layout_toStartOf="@id/progress_cancel"
|
||||||
android:text=""
|
tools:text="500%"
|
||||||
android:textAppearance="@style/TextAppearance.AppCompat.Small" />
|
android:textAppearance="@style/TextAppearance.AppCompat.Small" />
|
||||||
|
|
||||||
<ProgressBar
|
<ProgressBar
|
||||||
@ -141,10 +136,6 @@
|
|||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_below="@id/icon_and_name"
|
android:layout_below="@id/icon_and_name"
|
||||||
android:layout_alignParentStart="true"
|
|
||||||
android:layout_alignParentLeft="true"
|
|
||||||
android:layout_alignParentEnd="true"
|
|
||||||
android:layout_alignParentRight="true"
|
|
||||||
android:paddingBottom="2dp"
|
android:paddingBottom="2dp"
|
||||||
android:clipToPadding="false"
|
android:clipToPadding="false"
|
||||||
android:visibility="visible"
|
android:visibility="visible"
|
||||||
@ -178,32 +169,48 @@
|
|||||||
android:id="@+id/whats_new"
|
android:id="@+id/whats_new"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:textAppearance="@style/TextAppearance.AppCompat.Body1"
|
android:layout_marginTop="8dp"
|
||||||
android:paddingStart="8dp"
|
android:paddingStart="8dp"
|
||||||
android:paddingLeft="8dp"
|
android:paddingLeft="8dp"
|
||||||
android:paddingEnd="8dp"
|
android:paddingEnd="8dp"
|
||||||
android:paddingRight="8dp"
|
android:paddingRight="8dp"
|
||||||
android:paddingTop="16dp"
|
android:paddingTop="16dp"
|
||||||
android:paddingBottom="16dp"
|
android:paddingBottom="16dp"
|
||||||
android:layout_marginTop="16dp"
|
android:textAppearance="@style/TextAppearance.AppCompat.Body1"
|
||||||
android:layout_marginBottom="16dp"
|
|
||||||
android:background="?attr/detailPanel"
|
android:background="?attr/detailPanel"
|
||||||
tools:text="NEW IN VERSION 1.0.2233\n\nA lot has happened since the last build:\n\n\t• Improved UI\n\t• Bug fixes" />
|
tools:text="NEW IN VERSION 1.0.2233\n\nA lot has happened since the last build:\n\n\t• Improved UI\n\t• Bug fixes" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/description"
|
android:id="@+id/description"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="16dp"
|
||||||
android:layout_marginStart="8dp"
|
android:layout_marginStart="8dp"
|
||||||
android:layout_marginLeft="8dp"
|
android:layout_marginLeft="8dp"
|
||||||
android:layout_marginEnd="8dp"
|
android:layout_marginEnd="8dp"
|
||||||
android:layout_marginRight="8dp"
|
android:layout_marginRight="8dp"
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginTop="16dp"
|
|
||||||
android:scrollbars="none"
|
android:scrollbars="none"
|
||||||
android:textAppearance="@style/TextAppearance.AppCompat.Body1"
|
android:textAppearance="@style/TextAppearance.AppCompat.Body1"
|
||||||
android:textIsSelectable="true"
|
android:textIsSelectable="true"
|
||||||
tools:text="This is the app description of this awezome app. It can be several lines long, but will be truncated at just a few if it is. A 'read more' button will appear so that you can expand the view and view the full text, if you wish. Yes, it will be blue and beautiful." />
|
tools:text="This is the app description of this awezome app. It can be several lines long, but will be truncated at just a few if it is. A 'read more' button will appear so that you can expand the view and view the full text, if you wish. Yes, it will be blue and beautiful." />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/anti_features_warning"
|
||||||
|
style="@style/DetailsAntiFeaturesWarningStyle"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="8dp"
|
||||||
|
android:layout_marginStart="8dp"
|
||||||
|
android:layout_marginLeft="8dp"
|
||||||
|
android:layout_marginEnd="8dp"
|
||||||
|
android:layout_marginRight="8dp"
|
||||||
|
android:text="@string/antifeatureswarning"
|
||||||
|
android:textAppearance="@style/TextAppearance.AppCompat.Body1"
|
||||||
|
android:drawableStart="?attr/antiFeaturesWarning"
|
||||||
|
android:drawableLeft="?attr/antiFeaturesWarning"
|
||||||
|
android:drawablePadding="10dp"
|
||||||
|
android:gravity="center_vertical" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/label_anti_features"
|
android:id="@+id/label_anti_features"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
@ -214,10 +221,10 @@
|
|||||||
android:layout_marginEnd="8dp"
|
android:layout_marginEnd="8dp"
|
||||||
android:layout_marginRight="8dp"
|
android:layout_marginRight="8dp"
|
||||||
android:scrollbars="none"
|
android:scrollbars="none"
|
||||||
|
android:text="@string/antifeatures"
|
||||||
android:textStyle="bold"
|
android:textStyle="bold"
|
||||||
android:textAllCaps="true"
|
android:textAllCaps="true"
|
||||||
android:textAppearance="@style/TextAppearance.AppCompat.Body1"
|
android:textAppearance="@style/TextAppearance.AppCompat.Body1" />
|
||||||
android:text="@string/antifeatures" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/text_anti_features"
|
android:id="@+id/text_anti_features"
|
||||||
@ -229,39 +236,17 @@
|
|||||||
android:layout_marginEnd="8dp"
|
android:layout_marginEnd="8dp"
|
||||||
android:layout_marginRight="8dp"
|
android:layout_marginRight="8dp"
|
||||||
android:scrollbars="none"
|
android:scrollbars="none"
|
||||||
android:textAppearance="@style/TextAppearance.AppCompat.Body1"
|
tools:text="\t• This app tracks and reports your activity."
|
||||||
tools:text="\t• This app tracks and reports your activity." />
|
android:textAppearance="@style/TextAppearance.AppCompat.Body1" />
|
||||||
|
|
||||||
<android.support.v7.widget.AppCompatTextView
|
<android.support.v7.widget.AppCompatTextView
|
||||||
android:id="@+id/description_more"
|
android:id="@+id/description_more"
|
||||||
style="@style/DetailsMoreButtonStyle"
|
android:layout_width="wrap_content"
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="8dp"
|
android:gravity="center"
|
||||||
android:layout_marginLeft="8dp"
|
|
||||||
android:layout_marginEnd="8dp"
|
|
||||||
android:layout_marginRight="8dp"
|
|
||||||
android:gravity="end"
|
|
||||||
android:text="@string/more"
|
android:text="@string/more"
|
||||||
android:textAllCaps="true"
|
android:textAllCaps="true"
|
||||||
android:textAppearance="@style/TextAppearance.AppCompat.Body1"
|
android:textAppearance="@style/TextAppearance.AppCompat.Body1"
|
||||||
tools:text="more" />
|
style="@style/DetailsMoreButtonStyle" />
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/anti_features_warning"
|
|
||||||
style="@style/DetailsAntiFeaturesWarningStyle"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginStart="8dp"
|
|
||||||
android:layout_marginLeft="8dp"
|
|
||||||
android:layout_marginEnd="8dp"
|
|
||||||
android:layout_marginRight="8dp"
|
|
||||||
android:textAppearance="@style/TextAppearance.AppCompat.Body1"
|
|
||||||
android:drawableStart="?attr/antiFeaturesWarning"
|
|
||||||
android:drawableLeft="?attr/antiFeaturesWarning"
|
|
||||||
android:gravity="center_vertical"
|
|
||||||
android:drawablePadding="10dp"
|
|
||||||
android:text="@string/antifeatureswarning" />
|
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
</android.support.v7.widget.CardView>
|
</android.support.v7.widget.CardView>
|
||||||
|
@ -41,9 +41,6 @@
|
|||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:paddingTop="3dp">
|
android:paddingTop="3dp">
|
||||||
|
|
||||||
<include layout="@layout/app_status_suggested"
|
|
||||||
android:id="@+id/status_suggested" />
|
|
||||||
|
|
||||||
<TextView android:id="@+id/status_installed"
|
<TextView android:id="@+id/status_installed"
|
||||||
style="@style/AppVersionStatus"
|
style="@style/AppVersionStatus"
|
||||||
android:background="@drawable/app_version_item_status_installed"
|
android:background="@drawable/app_version_item_status_installed"
|
||||||
@ -51,6 +48,9 @@
|
|||||||
android:textStyle="bold"
|
android:textStyle="bold"
|
||||||
android:text="@string/app_installed" />
|
android:text="@string/app_installed" />
|
||||||
|
|
||||||
|
<include layout="@layout/app_status_suggested"
|
||||||
|
android:id="@+id/status_suggested" />
|
||||||
|
|
||||||
<TextView android:id="@+id/status_incompatible"
|
<TextView android:id="@+id/status_incompatible"
|
||||||
style="@style/AppVersionStatus"
|
style="@style/AppVersionStatus"
|
||||||
android:background="@drawable/app_version_item_status_incompatible"
|
android:background="@drawable/app_version_item_status_incompatible"
|
||||||
|
@ -4,43 +4,49 @@
|
|||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content">
|
android:layout_height="wrap_content"
|
||||||
|
android:background="?appDetailsCardBackground">
|
||||||
|
|
||||||
<!-- Ignore ContentDescription because it is kind of meaningless to have TTS read out "App icon"
|
<!-- Ignore ContentDescription because it is kind of meaningless to have TTS read out "App icon"
|
||||||
when it will inevitably read out the name of the app straight after. -->
|
when it will inevitably read out the name of the app straight after. -->
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/icon"
|
android:id="@+id/icon"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
|
||||||
android:layout_width="48dp"
|
android:layout_width="48dp"
|
||||||
android:layout_height="48dp"
|
android:layout_height="48dp"
|
||||||
tools:src="@drawable/ic_launcher"
|
|
||||||
android:scaleType="fitCenter"
|
|
||||||
android:layout_marginStart="16dp"
|
|
||||||
android:layout_marginLeft="16dp"
|
android:layout_marginLeft="16dp"
|
||||||
|
android:layout_marginStart="16dp"
|
||||||
android:layout_marginTop="8dp"
|
android:layout_marginTop="8dp"
|
||||||
tools:ignore="ContentDescription" />
|
android:layout_marginBottom="8dp"
|
||||||
|
android:scaleType="fitCenter"
|
||||||
|
tools:src="@drawable/ic_launcher"
|
||||||
|
tools:ignore="ContentDescription"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent" />
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:id="@+id/text_layout"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginLeft="8dp"
|
||||||
|
android:layout_marginStart="8dp"
|
||||||
|
android:layout_marginRight="8dp"
|
||||||
|
android:layout_marginEnd="8dp"
|
||||||
|
app:layout_constraintStart_toEndOf="@+id/icon"
|
||||||
|
app:layout_constraintEnd_toStartOf="@+id/action_button"
|
||||||
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
app:layout_constraintBottom_toTopOf="@id/progress_bar"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/app_name"
|
android:id="@+id/app_name"
|
||||||
android:layout_width="0dp"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
tools:text="F-Droid Application manager with a long name that will wrap and then ellipsize"
|
tools:text="F-Droid Application manager with a long name that will wrap and then ellipsize"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:textColor="?attr/installedApps"
|
android:textColor="?attr/installedApps"
|
||||||
android:maxLines="2"
|
android:maxLines="2"
|
||||||
android:ellipsize="end"
|
android:ellipsize="end" />
|
||||||
app:layout_constraintStart_toEndOf="@+id/icon"
|
|
||||||
app:layout_constraintEnd_toStartOf="@+id/action_button"
|
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
|
||||||
android:layout_marginBottom="8dp"
|
|
||||||
android:layout_marginStart="8dp"
|
|
||||||
android:layout_marginLeft="8dp"
|
|
||||||
android:layout_marginEnd="8dp"
|
|
||||||
android:layout_marginRight="8dp"
|
|
||||||
android:layout_marginTop="8dp"
|
|
||||||
app:layout_constraintVertical_bias="0.333" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/status"
|
android:id="@+id/status"
|
||||||
@ -48,41 +54,34 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
tools:text="@string/app_list_download_ready"
|
tools:text="@string/app_list_download_ready"
|
||||||
style="@style/AppListItemStatusText"
|
style="@style/AppListItemStatusText"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/app_name"
|
|
||||||
app:layout_constraintStart_toEndOf="@+id/icon"
|
|
||||||
android:layout_marginStart="8dp"
|
|
||||||
android:layout_marginLeft="8dp"
|
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
tools:visibility="visible" />
|
tools:visibility="visible" />
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
<ProgressBar
|
<ProgressBar
|
||||||
android:id="@+id/progress_bar"
|
android:id="@+id/progress_bar"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_margin="8dp"
|
||||||
|
android:visibility="gone"
|
||||||
style="@style/Widget.AppCompat.ProgressBar.Horizontal"
|
style="@style/Widget.AppCompat.ProgressBar.Horizontal"
|
||||||
android:layout_marginStart="8dp"
|
|
||||||
android:layout_marginLeft="8dp"
|
|
||||||
android:layout_marginRight="8dp"
|
|
||||||
android:layout_marginEnd="8dp"
|
|
||||||
app:layout_constraintTop_toBottomOf="@+id/app_name"
|
|
||||||
app:layout_constraintStart_toEndOf="@+id/icon"
|
app:layout_constraintStart_toEndOf="@+id/icon"
|
||||||
app:layout_constraintEnd_toStartOf="@+id/cancel_button"
|
app:layout_constraintEnd_toStartOf="@+id/cancel_button"
|
||||||
android:visibility="gone"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
tools:visibility="visible" />
|
tools:visibility="visible" />
|
||||||
|
|
||||||
<ImageButton
|
<ImageButton
|
||||||
android:id="@+id/cancel_button"
|
android:id="@+id/cancel_button"
|
||||||
android:contentDescription="@string/cancel"
|
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:src="@drawable/ic_cancel"
|
android:src="@drawable/ic_cancel"
|
||||||
|
android:contentDescription="@string/cancel"
|
||||||
android:background="@android:color/transparent"
|
android:background="@android:color/transparent"
|
||||||
android:layout_marginEnd="16dp"
|
android:visibility="gone"
|
||||||
android:layout_marginRight="16dp"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="@+id/progress_bar"
|
app:layout_constraintTop_toTopOf="@+id/progress_bar"
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/progress_bar"
|
app:layout_constraintBottom_toBottomOf="@+id/progress_bar"
|
||||||
android:visibility="gone"
|
|
||||||
tools:visibility="visible" />
|
tools:visibility="visible" />
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
@ -94,9 +93,9 @@
|
|||||||
android:layout_marginRight="16dp"
|
android:layout_marginRight="16dp"
|
||||||
android:layout_marginTop="8dp"
|
android:layout_marginTop="8dp"
|
||||||
android:layout_marginBottom="8dp"
|
android:layout_marginBottom="8dp"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
tools:text="Update" />
|
tools:text="Update" />
|
||||||
|
|
||||||
</android.support.constraint.ConstraintLayout>
|
</android.support.constraint.ConstraintLayout>
|
@ -25,13 +25,13 @@
|
|||||||
android:id="@+id/text_apps_to_update"
|
android:id="@+id/text_apps_to_update"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
tools:text="SAnd, Birthday Droid, Dados D, Other app, Another app"
|
|
||||||
android:maxLines="1"
|
|
||||||
android:ellipsize="end"
|
|
||||||
android:layout_marginStart="16dp"
|
android:layout_marginStart="16dp"
|
||||||
android:layout_marginLeft="16dp"
|
android:layout_marginLeft="16dp"
|
||||||
android:layout_marginEnd="16dp"
|
android:layout_marginEnd="16dp"
|
||||||
android:layout_marginRight="16dp"
|
android:layout_marginRight="16dp"
|
||||||
|
android:maxLines="1"
|
||||||
|
android:ellipsize="end"
|
||||||
|
tools:text="SAnd, Birthday Droid, Dados D, Other app, Another app"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintEnd_toStartOf="@+id/button_download_all"
|
app:layout_constraintEnd_toStartOf="@+id/button_download_all"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/text_updates_available" />
|
app:layout_constraintTop_toBottomOf="@+id/text_updates_available" />
|
||||||
@ -40,11 +40,10 @@
|
|||||||
android:id="@+id/button_download_all"
|
android:id="@+id/button_download_all"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginEnd="8dp"
|
android:layout_marginEnd="16dp"
|
||||||
android:layout_marginRight="8dp"
|
android:layout_marginRight="16dp"
|
||||||
android:text="Update all"
|
|
||||||
android:textAllCaps="true"
|
android:textAllCaps="true"
|
||||||
android:contentDescription="@string/updates__tts__download_updates_for_all_apps"
|
android:text="@string/updates__tts__download_updates_for_all_apps"
|
||||||
style="@style/DetailsPrimaryButtonStyle"
|
style="@style/DetailsPrimaryButtonStyle"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="@+id/text_updates_available"
|
app:layout_constraintTop_toTopOf="@+id/text_updates_available"
|
||||||
@ -52,7 +51,7 @@
|
|||||||
|
|
||||||
<Button
|
<Button
|
||||||
android:id="@+id/button_toggle_apps_to_update"
|
android:id="@+id/button_toggle_apps_to_update"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_margin="8dp"
|
android:layout_margin="8dp"
|
||||||
android:background="?attr/selectableItemBackground"
|
android:background="?attr/selectableItemBackground"
|
||||||
|
@ -102,6 +102,7 @@ This often occurs with apps installed via Google Play or other sources, if they
|
|||||||
<string name="app__install_downloaded_update">Update</string>
|
<string name="app__install_downloaded_update">Update</string>
|
||||||
<string name="app_installed_media">File installed to %s</string>
|
<string name="app_installed_media">File installed to %s</string>
|
||||||
<string name="app_permission_storage">F-Droid needs the storage permission to install this to storage. Please allow it on the next screen to proceed with installation.</string>
|
<string name="app_permission_storage">F-Droid needs the storage permission to install this to storage. Please allow it on the next screen to proceed with installation.</string>
|
||||||
|
<string name="app_repository">Repository: %1$s</string>
|
||||||
<string name="app_size">Size: %1$s</string>
|
<string name="app_size">Size: %1$s</string>
|
||||||
|
|
||||||
<string name="app_list__name__downloading_in_progress">Downloading %1$s</string>
|
<string name="app_list__name__downloading_in_progress">Downloading %1$s</string>
|
||||||
@ -116,15 +117,15 @@ This often occurs with apps installed via Google Play or other sources, if they
|
|||||||
<string name="send_installed_apps_csv">Apps installed by F-Droid as CSV file</string>
|
<string name="send_installed_apps_csv">Apps installed by F-Droid as CSV file</string>
|
||||||
<string name="installed_app__updates_ignored">Updates ignored</string>
|
<string name="installed_app__updates_ignored">Updates ignored</string>
|
||||||
<string name="installed_app__updates_ignored_for_suggested_version">Updates ignored for Version %1$s</string>
|
<string name="installed_app__updates_ignored_for_suggested_version">Updates ignored for Version %1$s</string>
|
||||||
<!-- The inline download button shown in the "Updates" screen only uses an icon and so requires
|
|
||||||
some descriptive text for the TTS engine -->
|
|
||||||
<string name="updates__tts__download_app">Download</string>
|
|
||||||
<string name="updates__tts__download_updates_for_all_apps">Download all updates</string>
|
|
||||||
|
|
||||||
<string name="updates__app_with_known_vulnerability__prompt_uninstall">We found a vulnerability with %1$s. We recommend uninstalling this app immediately.</string>
|
<string name="updates__app_with_known_vulnerability__prompt_uninstall">We found a vulnerability with %1$s. We recommend uninstalling this app immediately.</string>
|
||||||
<string name="updates__app_with_known_vulnerability__prompt_upgrade">We found a vulnerability with %1$s. We recommend upgrading to the newest version immediately.</string>
|
<string name="updates__app_with_known_vulnerability__prompt_upgrade">We found a vulnerability with %1$s. We recommend upgrading to the newest version immediately.</string>
|
||||||
<string name="updates__app_with_known_vulnerability__ignore">Ignore</string>
|
<string name="updates__app_with_known_vulnerability__ignore">Ignore</string>
|
||||||
|
|
||||||
|
<!-- The inline download button shown in the "Updates" screen only uses an icon and so requires
|
||||||
|
some descriptive text for the TTS engine -->
|
||||||
|
<string name="updates__tts__download_app">Download</string>
|
||||||
|
<string name="updates__tts__download_updates_for_all_apps">Update all</string>
|
||||||
<string name="updates__hide_updateable_apps">Hide apps</string>
|
<string name="updates__hide_updateable_apps">Hide apps</string>
|
||||||
<string name="updates__show_updateable_apps">Show apps</string>
|
<string name="updates__show_updateable_apps">Show apps</string>
|
||||||
<plurals name="updates__download_updates_for_apps">
|
<plurals name="updates__download_updates_for_apps">
|
||||||
|
@ -29,8 +29,8 @@
|
|||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="DetailsMoreButtonStyle">
|
<style name="DetailsMoreButtonStyle">
|
||||||
<item name="android:padding">5dp</item>
|
<item name="android:padding">8dp</item>
|
||||||
<item name="android:textSize">15sp</item>
|
<item name="android:textSize">14sp</item>
|
||||||
<item name="android:textStyle">normal</item>
|
<item name="android:textStyle">normal</item>
|
||||||
<item name="android:textColor">@color/fdroid_blue</item>
|
<item name="android:textColor">@color/fdroid_blue</item>
|
||||||
</style>
|
</style>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user