Merge branch 'free-donation-options' into 'master'

Free donation options

See merge request fdroid/fdroidclient!891
This commit is contained in:
Hans-Christoph Steiner 2020-06-25 10:19:08 +00:00
commit a6d1e18ee9
83 changed files with 171 additions and 137 deletions

View File

@ -505,7 +505,8 @@ public final class Utils {
: null);
}
} else {
ImageLoader.getInstance().displayImage(app.getIconUrl(iv.getContext()), iv, Utils.getRepoAppDisplayImageOptions());
ImageLoader.getInstance().displayImage(
app.getIconUrl(iv.getContext()), iv, Utils.getRepoAppDisplayImageOptions());
}
}

View File

@ -163,7 +163,9 @@ public class App extends ValueObject implements Comparable<App>, Parcelable {
public String flattrID;
public String liberapayID;
public String liberapay;
public String openCollective;
/**
* This matches {@code CurrentVersion} in build metadata files.
@ -309,8 +311,11 @@ public class App extends ValueObject implements Comparable<App>, Parcelable {
case Cols.FLATTR_ID:
flattrID = cursor.getString(i);
break;
case Cols.LIBERAPAY_ID:
liberapayID = cursor.getString(i);
case Cols.LIBERAPAY:
liberapay = cursor.getString(i);
break;
case Cols.OPEN_COLLECTIVE:
openCollective = cursor.getString(i);
break;
case Cols.AutoInstallApk.VERSION_NAME:
autoInstallVersionName = cursor.getString(i);
@ -445,6 +450,25 @@ public class App extends ValueObject implements Comparable<App>, Parcelable {
}
}
/**
* {@link #liberapay} was originally included using a numeric ID, now it is a
* username. This should not override {@link #liberapay} if that is already set.
*/
@JsonProperty("liberapayID")
void setLiberapayID(String liberapayId) { // NOPMD
if (TextUtils.isEmpty(liberapayId) || !TextUtils.isEmpty(liberapay)) {
return;
}
try {
int id = Integer.parseInt(liberapayId);
if (id > 0) {
liberapay = "~" + liberapayId;
}
} catch (NumberFormatException e) {
// ignored
}
}
/**
* Parses the {@code localized} block in the incoming index metadata,
* choosing the best match in terms of locale/language while filling as
@ -667,10 +691,10 @@ public class App extends ValueObject implements Comparable<App>, Parcelable {
public String getIconUrl(Context context) {
Repo repo = RepoProvider.Helper.findById(context, repoId);
if (TextUtils.isEmpty(iconUrl)) {
if (TextUtils.isEmpty(iconFromApk)){
if (TextUtils.isEmpty(iconFromApk)) {
return null;
}
if (iconFromApk.endsWith(".xml")){
if (iconFromApk.endsWith(".xml")) {
// We cannot use xml ressources as icons. F-Droid server should not include them
// https://gitlab.com/fdroid/fdroidserver/issues/344
return null;
@ -990,7 +1014,8 @@ public class App extends ValueObject implements Comparable<App>, Parcelable {
values.put(Cols.BITCOIN, bitcoin);
values.put(Cols.LITECOIN, litecoin);
values.put(Cols.FLATTR_ID, flattrID);
values.put(Cols.LIBERAPAY_ID, liberapayID);
values.put(Cols.LIBERAPAY, liberapay);
values.put(Cols.OPEN_COLLECTIVE, openCollective);
values.put(Cols.ADDED, Utils.formatDate(added, ""));
values.put(Cols.LAST_UPDATED, Utils.formatDate(lastUpdated, ""));
values.put(Cols.PREFERRED_SIGNER, preferredSigner);
@ -1104,6 +1129,12 @@ public class App extends ValueObject implements Comparable<App>, Parcelable {
return TextUtils.isEmpty(bitcoin) ? null : "litecoin:" + bitcoin;
}
@Nullable
public String getOpenCollectiveUri() {
return TextUtils.isEmpty(openCollective) ? null : "https://opencollective.com/"
+ openCollective + "/donate/";
}
@Nullable
public String getFlattrUri() {
return TextUtils.isEmpty(flattrID) ? null : "https://flattr.com/thing/" + flattrID;
@ -1111,7 +1142,7 @@ public class App extends ValueObject implements Comparable<App>, Parcelable {
@Nullable
public String getLiberapayUri() {
return TextUtils.isEmpty(liberapayID) ? null : "https://liberapay.com/~" + liberapayID;
return TextUtils.isEmpty(liberapay) ? null : "https://liberapay.com/" + liberapay;
}
@ -1219,7 +1250,8 @@ public class App extends ValueObject implements Comparable<App>, Parcelable {
dest.writeString(this.bitcoin);
dest.writeString(this.litecoin);
dest.writeString(this.flattrID);
dest.writeString(this.liberapayID);
dest.writeString(this.liberapay);
dest.writeString(this.openCollective);
dest.writeString(this.preferredSigner);
dest.writeString(this.suggestedVersionName);
dest.writeInt(this.suggestedVersionCode);
@ -1270,7 +1302,8 @@ public class App extends ValueObject implements Comparable<App>, Parcelable {
this.bitcoin = in.readString();
this.litecoin = in.readString();
this.flattrID = in.readString();
this.liberapayID = in.readString();
this.liberapay = in.readString();
this.openCollective = in.readString();
this.preferredSigner = in.readString();
this.suggestedVersionName = in.readString();
this.suggestedVersionCode = in.readInt();

View File

@ -30,7 +30,6 @@ import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.text.TextUtils;
import android.util.Log;
import org.fdroid.fdroid.Preferences;
import org.fdroid.fdroid.R;
import org.fdroid.fdroid.Utils;
@ -156,7 +155,8 @@ public class DBHelper extends SQLiteOpenHelper {
+ AppMetadataTable.Cols.BITCOIN + " string,"
+ AppMetadataTable.Cols.LITECOIN + " string,"
+ AppMetadataTable.Cols.FLATTR_ID + " string,"
+ AppMetadataTable.Cols.LIBERAPAY_ID + " string,"
+ AppMetadataTable.Cols.LIBERAPAY + " string,"
+ AppMetadataTable.Cols.OPEN_COLLECTIVE + " string,"
+ AppMetadataTable.Cols.REQUIREMENTS + " string,"
+ AppMetadataTable.Cols.ADDED + " string,"
+ AppMetadataTable.Cols.LAST_UPDATED + " string,"
@ -227,7 +227,7 @@ public class DBHelper extends SQLiteOpenHelper {
+ "primary key(" + ApkAntiFeatureJoinTable.Cols.APK_ID + ", " + ApkAntiFeatureJoinTable.Cols.ANTI_FEATURE_ID + ") "
+ " );";
protected static final int DB_VERSION = 84;
protected static final int DB_VERSION = 85;
private final Context context;
@ -457,6 +457,20 @@ public class DBHelper extends SQLiteOpenHelper {
addTranslation(db, oldVersion);
switchRepoArchivePriorities(db, oldVersion);
deleteOldIconUrls(db, oldVersion);
addOpenCollective(db, oldVersion);
}
private void addOpenCollective(SQLiteDatabase db, int oldVersion) {
if (oldVersion >= 85) {
return;
}
if (!columnExists(db, AppMetadataTable.NAME, AppMetadataTable.Cols.OPEN_COLLECTIVE)) {
Utils.debugLog(TAG, "Adding " + AppMetadataTable.Cols.OPEN_COLLECTIVE + " field to "
+ AppMetadataTable.NAME + " table in db.");
db.execSQL("alter table " + AppMetadataTable.NAME + " add column "
+ AppMetadataTable.Cols.OPEN_COLLECTIVE + " string;");
}
}
private void deleteOldIconUrls(SQLiteDatabase db, int oldVersion) {
@ -464,7 +478,7 @@ public class DBHelper extends SQLiteOpenHelper {
return;
}
Utils.debugLog(TAG, "Clearing iconUrl field to enable localized icons on next update");
db.execSQL("UPDATE " + AppMetadataTable.NAME + " SET " + AppMetadataTable.Cols.ICON_URL + "= NULL");
db.execSQL("UPDATE " + AppMetadataTable.NAME + " SET " + AppMetadataTable.Cols.ICON_URL + "= NULL");
}
private void switchRepoArchivePriorities(SQLiteDatabase db, int oldVersion) {
@ -475,9 +489,9 @@ public class DBHelper extends SQLiteOpenHelper {
db.execSQL("UPDATE " + RepoTable.NAME + " SET " + RepoTable.Cols.PRIORITY
+ "= ( SELECT SUM(" + RepoTable.Cols.PRIORITY + ")" + " FROM " + RepoTable.NAME
+ " WHERE " + RepoTable.Cols.ADDRESS + " IN ( 'https://f-droid.org/repo', 'https://f-droid.org/archive')"
+ " WHERE " + RepoTable.Cols.ADDRESS + " IN ( 'https://f-droid.org/repo', 'https://f-droid.org/archive')"
+ ") - " + RepoTable.Cols.PRIORITY
+ " WHERE " + RepoTable.Cols.ADDRESS + " IN ( 'https://f-droid.org/repo', 'https://f-droid.org/archive')"
+ " WHERE " + RepoTable.Cols.ADDRESS + " IN ( 'https://f-droid.org/repo', 'https://f-droid.org/archive')"
+ " AND 'TRUE' IN (SELECT CASE WHEN a." + RepoTable.Cols.PRIORITY + " = b."
+ RepoTable.Cols.PRIORITY + "-1" + " THEN 'TRUE' ELSE 'FASLE' END"
+ " FROM " + RepoTable.NAME + " AS a INNER JOIN " + RepoTable.NAME
@ -488,9 +502,9 @@ public class DBHelper extends SQLiteOpenHelper {
db.execSQL("UPDATE " + RepoTable.NAME + " SET " + RepoTable.Cols.PRIORITY
+ "= ( SELECT SUM(" + RepoTable.Cols.PRIORITY + ")" + " FROM " + RepoTable.NAME
+ " WHERE " + RepoTable.Cols.ADDRESS + " IN ( 'https://guardianproject.info/fdroid/repo', 'https://guardianproject.info/fdroid/archive')"
+ " WHERE " + RepoTable.Cols.ADDRESS + " IN ( 'https://guardianproject.info/fdroid/repo', 'https://guardianproject.info/fdroid/archive')"
+ ") - " + RepoTable.Cols.PRIORITY
+ " WHERE " + RepoTable.Cols.ADDRESS + " IN ( 'https://guardianproject.info/fdroid/repo', 'https://guardianproject.info/fdroid/archive')"
+ " WHERE " + RepoTable.Cols.ADDRESS + " IN ( 'https://guardianproject.info/fdroid/repo', 'https://guardianproject.info/fdroid/archive')"
+ " AND 'TRUE' IN (SELECT CASE WHEN a." + RepoTable.Cols.PRIORITY + " = b."
+ RepoTable.Cols.PRIORITY + "-1" + " THEN 'TRUE' ELSE 'FASLE' END"
+ " FROM " + RepoTable.NAME + " AS a INNER JOIN " + RepoTable.NAME + " AS b ON a."
@ -558,11 +572,11 @@ public class DBHelper extends SQLiteOpenHelper {
return;
}
if (!columnExists(db, AppMetadataTable.NAME, AppMetadataTable.Cols.LIBERAPAY_ID)) {
Utils.debugLog(TAG, "Adding " + AppMetadataTable.Cols.LIBERAPAY_ID + " field to "
if (!columnExists(db, AppMetadataTable.NAME, AppMetadataTable.Cols.LIBERAPAY)) {
Utils.debugLog(TAG, "Adding " + AppMetadataTable.Cols.LIBERAPAY + " field to "
+ AppMetadataTable.NAME + " table in db.");
db.execSQL("alter table " + AppMetadataTable.NAME + " add column "
+ AppMetadataTable.Cols.LIBERAPAY_ID + " string;");
+ AppMetadataTable.Cols.LIBERAPAY + " string;");
}
}

View File

@ -257,7 +257,7 @@ public class RepoXMLHandler extends DefaultHandler {
curapp.flattrID = str;
break;
case "liberapay":
curapp.liberapayID = str;
curapp.liberapay = str;
break;
case "web":
curapp.webSite = str;

View File

@ -189,7 +189,8 @@ public interface Schema {
String BITCOIN = "bitcoinAddr";
String LITECOIN = "litecoinAddr";
String FLATTR_ID = "flattrID";
String LIBERAPAY_ID = "liberapayID";
String LIBERAPAY = "liberapayID";
String OPEN_COLLECTIVE = "openCollective";
String PREFERRED_SIGNER = "preferredSigner";
String AUTO_INSTALL_VERSION_CODE = "suggestedVercode"; // name mismatch from issue #1063
String SUGGESTED_VERSION_NAME = "upstreamVersion"; // name mismatch from issue #1063
@ -243,8 +244,8 @@ public interface Schema {
String[] ALL_COLS = {
ROW_ID, PACKAGE_ID, REPO_ID, IS_COMPATIBLE, NAME, SUMMARY, ICON, DESCRIPTION,
WHATSNEW, LICENSE, AUTHOR_NAME, AUTHOR_EMAIL, WEBSITE, ISSUE_TRACKER, SOURCE_CODE,
TRANSLATION, VIDEO, CHANGELOG, DONATE, BITCOIN, LITECOIN, FLATTR_ID, LIBERAPAY_ID,
SUGGESTED_VERSION_NAME, SUGGESTED_VERSION_CODE, ADDED, LAST_UPDATED,
TRANSLATION, VIDEO, CHANGELOG, DONATE, BITCOIN, LITECOIN, FLATTR_ID, LIBERAPAY,
OPEN_COLLECTIVE, SUGGESTED_VERSION_NAME, SUGGESTED_VERSION_CODE, ADDED, LAST_UPDATED,
ANTI_FEATURES, REQUIREMENTS, ICON_URL,
FEATURE_GRAPHIC, PROMO_GRAPHIC, TV_BANNER, PHONE_SCREENSHOTS,
SEVEN_INCH_SCREENSHOTS, TEN_INCH_SCREENSHOTS, TV_SCREENSHOTS, WEAR_SCREENSHOTS,
@ -260,8 +261,8 @@ public interface Schema {
String[] ALL = {
_ID, ROW_ID, REPO_ID, IS_COMPATIBLE, NAME, SUMMARY, ICON, DESCRIPTION,
WHATSNEW, LICENSE, AUTHOR_NAME, AUTHOR_EMAIL, WEBSITE, ISSUE_TRACKER, SOURCE_CODE,
TRANSLATION, VIDEO, CHANGELOG, DONATE, BITCOIN, LITECOIN, FLATTR_ID, LIBERAPAY_ID,
SUGGESTED_VERSION_NAME, SUGGESTED_VERSION_CODE, ADDED, LAST_UPDATED,
TRANSLATION, VIDEO, CHANGELOG, DONATE, BITCOIN, LITECOIN, FLATTR_ID, LIBERAPAY,
OPEN_COLLECTIVE, SUGGESTED_VERSION_NAME, SUGGESTED_VERSION_CODE, ADDED, LAST_UPDATED,
ANTI_FEATURES, REQUIREMENTS, ICON_URL,
FEATURE_GRAPHIC, PROMO_GRAPHIC, TV_BANNER, PHONE_SCREENSHOTS,
SEVEN_INCH_SCREENSHOTS, TEN_INCH_SCREENSHOTS, TV_SCREENSHOTS, WEAR_SCREENSHOTS,

View File

@ -40,7 +40,6 @@ import android.widget.LinearLayout;
import android.widget.ProgressBar;
import android.widget.TextView;
import android.widget.Toast;
import com.nostra13.universalimageloader.core.ImageLoader;
import org.apache.commons.io.FilenameUtils;
import org.fdroid.fdroid.Preferences;
import org.fdroid.fdroid.R;
@ -791,9 +790,14 @@ public class AppDetailsRecyclerViewAdapter
donationOptionsLayout.removeAllViews();
// Donate button
if (uriIsSetAndCanBeOpened(app.donate)) {
addDonateOption(R.layout.donate_generic, app.donate);
// LiberaPay
if (uriIsSetAndCanBeOpened(app.getLiberapayUri())) {
addDonateOption(R.layout.donate_liberapay, app.getLiberapayUri());
}
// OpenCollective
if (uriIsSetAndCanBeOpened(app.getOpenCollectiveUri())) {
addDonateOption(R.layout.donate_opencollective, app.getOpenCollectiveUri());
}
// Bitcoin
@ -808,17 +812,28 @@ public class AppDetailsRecyclerViewAdapter
// Flattr
if (uriIsSetAndCanBeOpened(app.getFlattrUri())) {
addDonateOption(R.layout.donate_flattr, app.getFlattrUri());
addDonateOption(R.layout.donate_generic, app.getFlattrUri());
}
// LiberaPay
if (uriIsSetAndCanBeOpened(app.getLiberapayUri())) {
addDonateOption(R.layout.donate_liberapay, app.getLiberapayUri());
// Donate button
if (uriIsSetAndCanBeOpened(app.donate)) {
addDonateOption(R.layout.donate_generic, app.donate);
}
}
/**
* Show the donate button, but only if it is an HTTPS URL. The
* {@code https://} is then stripped off when URLs are directly displayed.
*/
private void addDonateOption(@LayoutRes int layout, final String uri) {
LayoutInflater inflater = LayoutInflater.from(context);
View option = inflater.inflate(layout, donationOptionsLayout, false);
if (layout == R.layout.donate_generic) {
if (!uri.toLowerCase(Locale.ENGLISH).startsWith("https://")) {
return;
}
((TextView) option).setText(uri.substring(8));
}
option.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {

View File

@ -7,7 +7,6 @@ import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.pm.PackageManager;
import android.graphics.Outline;
import android.net.Uri;
import android.os.Build;
@ -28,11 +27,8 @@ import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.ProgressBar;
import android.widget.TextView;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import org.fdroid.fdroid.AppUpdateStatusManager;
import org.fdroid.fdroid.AppUpdateStatusManager.AppUpdateStatus;
import org.fdroid.fdroid.FDroidApp;
import org.fdroid.fdroid.Preferences;
import org.fdroid.fdroid.R;
import org.fdroid.fdroid.Utils;

View File

@ -13,7 +13,6 @@ import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import com.nostra13.universalimageloader.core.ImageLoader;
import org.fdroid.fdroid.R;
import org.fdroid.fdroid.Utils;
import org.fdroid.fdroid.data.App;

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,34 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:aapt="http://schemas.android.com/aapt"
android:width="300dp"
android:height="50dp"
android:viewportWidth="300"
android:viewportHeight="50">
<path
android:pathData="M25.806,0.226L275.806,0.226A24,24 0,0 1,299.806 24.226L299.806,24.226A24,24 0,0 1,275.806 48.226L25.806,48.226A24,24 0,0 1,1.806 24.226L1.806,24.226A24,24 0,0 1,25.806 0.226z"
android:fillType="evenOdd">
<aapt:attr name="android:fillColor">
<gradient
android:startY="2.1030872"
android:startX="150.80646"
android:endY="48.225807"
android:endX="150.80646"
android:type="linear">
<item android:offset="0" android:color="#FF7ACFFF"/>
<item android:offset="1" android:color="#FF4CBEFF"/>
</gradient>
</aapt:attr>
</path>
<path
android:pathData="M275.806,24.226m-22,0a22,22 0,1 1,44 0a22,22 0,1 1,-44 0"
android:fillColor="#ffffff"
android:fillType="evenOdd"/>
<path
android:pathData="M287.316,16.252C288.886,18.516 289.806,21.262 289.806,24.226c0,2.963 -0.92,5.71 -2.49,7.974L283.688,28.573C284.401,27.283 284.806,25.803 284.806,24.226 284.806,22.649 284.401,21.168 283.688,19.879l3.627,-3.627zM283.78,12.717 L280.153,16.345C278.863,15.631 277.383,15.226 275.806,15.226c-4.97,0 -9,4.03 -9,9 0,4.97 4.03,9 9,9 1.577,0 3.058,-0.405 4.347,-1.118l3.627,3.627C281.516,37.306 278.77,38.226 275.806,38.226 268.074,38.226 261.806,31.958 261.806,24.226 261.806,16.494 268.074,10.226 275.806,10.226c2.963,0 5.71,0.92 7.974,2.49z"
android:fillColor="#3faff0"
android:fillType="evenOdd"/>
<path
android:pathData="M287.316,16.252C288.886,18.516 289.806,21.262 289.806,24.226c0,2.963 -0.92,5.71 -2.49,7.974L283.688,28.573C284.401,27.283 284.806,25.803 284.806,24.226 284.806,22.649 284.401,21.168 283.688,19.879l3.627,-3.627z"
android:fillColor="#b8d5e6"
android:fillType="evenOdd"/>
</vector>

View File

@ -29,7 +29,7 @@
android:id="@+id/donation_options"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:columnCount="3" />
app:columnCount="2" />
</LinearLayout>
</android.support.v7.widget.CardView>

View File

@ -1,12 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<ImageView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="80dp"
android:layout_height="30dp"
android:padding="6dp"
android:layout_marginStart="4dp"
android:layout_marginLeft="4dp"
android:layout_marginEnd="4dp"
android:layout_marginRight="4dp"
android:src="@drawable/donation_option_flattr"
android:contentDescription="@string/menu_flattr" />

View File

@ -2,7 +2,7 @@
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="30dp"
android:layout_height="wrap_content"
android:drawableLeft="@drawable/ic_donate"
android:drawableStart="@drawable/ic_donate"
android:drawablePadding="4dp"
@ -10,5 +10,4 @@
android:layout_marginLeft="4dp"
android:layout_marginEnd="4dp"
android:layout_marginRight="4dp"
android:gravity="center_vertical"
android:text="@string/menu_donate" />
android:gravity="center_vertical" />

View File

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="80dp"
android:layout_height="28dp"
android:layout_marginEnd="12dp"

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="80dp"
android:layout_height="28dp"
android:layout_marginEnd="12dp"
android:layout_marginLeft="12dp"
android:layout_marginRight="12dp"
android:layout_marginStart="12dp"
android:contentDescription="@string/menu_opencollective"
android:src="@drawable/donation_option_opencollective" />

View File

@ -84,7 +84,6 @@
<string name="menu_changelog">Veranderingslys</string>
<string name="menu_source">Bronkode</string>
<string name="menu_upgrade">Opgradering</string>
<string name="menu_donate">Skenk</string>
<string name="menu_bitcoin">Bitcoin</string>
<string name="menu_litecoin">Litecoin</string>
<string name="menu_flattr">Flattr</string>

View File

@ -31,7 +31,6 @@
<string name="menu_ignore_all">تجاهل كل التحديثات</string>
<string name="menu_ignore_this">تجاهل هذا التحديث</string>
<string name="menu_source">الشفرة المصدرية</string>
<string name="menu_donate">التبرع</string>
<string name="local_repo">المستودع المحلي</string>
<string name="deleting_repo">يتم حذف المستودع الحالي…</string>
<string name="next">التالي</string>

View File

@ -53,7 +53,6 @@
<string name="menu_issues">Problemes</string>
<string name="menu_source">Códigu fonte</string>
<string name="menu_upgrade">Anovar</string>
<string name="menu_donate">Donar</string>
<string name="details_notinstalled">Nun s\'instaló</string>
<string name="antiadslist">Esta aplicación contién anuncios</string>
<string name="antitracklist">Esta aplicación rastrexa ya informa de la to actividá</string>

View File

@ -84,7 +84,6 @@
<string name="menu_changelog">Спіс змен</string>
<string name="menu_source">Зыходны код</string>
<string name="menu_upgrade">Абнавіць</string>
<string name="menu_donate">Ахвяраваць</string>
<string name="menu_bitcoin">Bitcoin</string>
<string name="menu_litecoin">Litecoin</string>
<string name="menu_flattr">Flattr</string>

View File

@ -55,7 +55,6 @@
<string name="menu_website">Уебсайт</string>
<string name="menu_issues">Проблеми</string>
<string name="menu_source">Изходен код</string>
<string name="menu_donate">Направете дарение</string>
<string name="details_notinstalled">Не е инсталирано</string>
<string name="antiadslist">Приложението съдържа реклами</string>
<string name="antitracklist">Приложението следи и докладва активността ви</string>

View File

@ -165,7 +165,6 @@
<string name="menu_video">བརྙན་འཕྲིན།</string>
<string name="menu_license">ཆོག་མཆན་ལག་ཁྱེར་:%s</string>
<string name="menu_source">འབྱུང་ཁུངས་་ཨང་རྟགས།</string>
<string name="menu_donate">ཞལ་འདེབས།</string>
<string name="latest__empty_state__no_recent_apps">ཉེ་བའི་ཆར་གྱི་མཉེན་ཆས་རྙེད་མ་སོང་།</string>
<string name="latest__empty_state__never_updated">ཁྱེད་རང་གིས་མཉེས་ཆས་ཀྱི་ཐོ་གཞུང་གསར་བསྒྱུར་བྱས་ཚར་ན། མཉེན་ཆས་ཐོན་གསར་ཤོས་རྣམས་འདིར་སྟོན་གྱི་རེད།</string>
<string name="latest__empty_state__no_enabled_repos">ཁྱེད་རང་གིས་མཛོད་ཁང་སྒོ་ཕྱེས་ནས་གསར་བསྒྱུར་བྱེད་འགོ་བཙུགས་མ་ཐག མཉེན་ཆས་ཐོན་གསར་ཤོས་རྣམས་འདིར་སྟོན་གྱི་རེད།</string>

View File

@ -51,7 +51,6 @@
<string name="menu_issues">Problemes</string>
<string name="menu_source">Codi font</string>
<string name="menu_upgrade">Actualitza</string>
<string name="menu_donate">Feu una donació</string>
<string name="details_notinstalled">No està instal·lat</string>
<string name="antiadslist">Aquesta aplicació conté publicitat</string>
<string name="antitracklist">Aquesta aplicació segueix i informa sobre la vostra activitat</string>

View File

@ -47,7 +47,6 @@
<string name="menu_issues">Problémy</string>
<string name="menu_source">Zdrojový kód</string>
<string name="menu_upgrade">Aktualizovat</string>
<string name="menu_donate">Přispět</string>
<string name="details_notinstalled">Nenainstalováno</string>
<string name="antiadslist">Tato aplikace obsahuje reklamu</string>
<string name="antitracklist">Tato aplikace zaznamenává a hlásí vaše aktivity</string>

View File

@ -154,7 +154,6 @@
<string name="menu_license">Trwydded: %s</string>
<string name="menu_source">Cod Gwreiddiol</string>
<string name="menu_downgrade">Israddio</string>
<string name="menu_donate">Cyfrannu</string>
<string name="menu_bitcoin">Bitcoin</string>
<string name="menu_litecoin">Litecoin</string>
<string name="menu_flattr">Flattr</string>

View File

@ -72,7 +72,6 @@
<string name="menu_changelog">Ændringslog</string>
<string name="menu_source">Kildekode</string>
<string name="menu_upgrade">Opdater</string>
<string name="menu_donate">Doner</string>
<string name="menu_bitcoin">Bitcoin</string>
<string name="menu_litecoin">Litecoin</string>
<string name="menu_flattr">Flattr</string>

View File

@ -53,7 +53,6 @@
<string name="menu_issues">Probleme</string>
<string name="menu_source">Quelltext</string>
<string name="menu_upgrade">Aktualisieren</string>
<string name="menu_donate">Spenden</string>
<string name="details_notinstalled">Nicht installiert</string>
<string name="antiadslist">Diese App enthält Werbung</string>
<string name="antitracklist">Diese App verfolgt und versendet Ihre Aktivitäten</string>

View File

@ -46,7 +46,6 @@
<string name="menu_issues">Προβλήματα</string>
<string name="menu_source">Πηγαίος κώδικας</string>
<string name="menu_upgrade">Ενημέρωση</string>
<string name="menu_donate">Δωρεά</string>
<string name="details_notinstalled">Μη εγκατεστημένο</string>
<string name="antiadslist">Αυτή η εφαρμογή περιέχει διαφημίσεις</string>
<string name="antitracklist">Αυτή η εφαρμογή παρακολουθεί και αναφέρει την δραστηριότητα σας</string>

View File

@ -37,7 +37,6 @@
<string name="menu_issues">Eraroj</string>
<string name="menu_source">Fontkodo</string>
<string name="menu_upgrade">Ĝisdatigi</string>
<string name="menu_donate">Donaci</string>
<string name="details_notinstalled">Neinstalita</string>
<string name="antiadslist">Tiu ĉi aplikaĵo enhavas reklamojn</string>
<string name="antitracklist">Tiu ĉi aplikaĵo spuras kaj raportas vian agadon</string>

View File

@ -159,7 +159,6 @@
<string name="menu_source">Código fuente</string>
<string name="menu_translation">Traducción</string>
<string name="menu_upgrade">Actualizar</string>
<string name="menu_donate">Donar</string>
<string name="menu_bitcoin">Bitcoin</string>
<string name="menu_litecoin">Litecoin</string>
<string name="menu_flattr">Flattr</string>

View File

@ -55,7 +55,6 @@
<string name="menu_issues">Incidencias</string>
<string name="menu_source">Código fuente</string>
<string name="menu_upgrade">Actualizar</string>
<string name="menu_donate">Donar</string>
<string name="details_notinstalled">No instalado</string>
<string name="antiadslist">Esta aplicación tiene publicidad</string>
<string name="antitracklist">Esta aplicación rastrea e informa de tu actividad</string>

View File

@ -116,7 +116,6 @@
<string name="install_confirm_update_no_perms">Kas soovite paigaldada värskenduse sellele rakendusele\? Teie andmed ei lähe kaduma. Erijuurdepääs ei ole vajalik.</string>
<string name="install_confirm_update_system_no_perms">Kas soovite paigaldada värskenduse sisseehitatud rakendusele\? Olemasolevad andmed ei lähe kaduma. Erijuurdepääs ei ole vajalik.</string>
<string name="menu_upgrade">Värskenda</string>
<string name="menu_donate">Toeta</string>
<string name="menu_bitcoin">Bitcoin</string>
<string name="menu_litecoin">Litecoin</string>
<string name="menu_flattr">Flattr</string>

View File

@ -42,7 +42,6 @@
<string name="menu_issues">Arazoak</string>
<string name="menu_source">Iturburu-kodea</string>
<string name="menu_upgrade">Eguneratu</string>
<string name="menu_donate">Egin dohaintza</string>
<string name="details_notinstalled">Instalatu gabe</string>
<string name="antiadslist">Aplikazio honek iragarkiak ditu</string>
<string name="display">Bistaratu</string>

View File

@ -32,7 +32,6 @@
<string name="menu_uninstall">حذف نصب</string>
<string name="menu_issues">اشکال‌ها</string>
<string name="menu_source">کد مبدأ</string>
<string name="menu_donate">کمک مالی</string>
<string name="details_notinstalled">نصب نشده</string>
<string name="antiadslist">این کاره دارای تبلیغات است</string>
<string name="antitracklist">این کاره، فعّالیت‌هایتان را ردیابی و گزارش می‌کند</string>

View File

@ -53,7 +53,6 @@
<string name="menu_issues">Ongelmat</string>
<string name="menu_source">Lähdekoodi</string>
<string name="menu_upgrade">Päivitä</string>
<string name="menu_donate">Lahjoita</string>
<string name="details_notinstalled">Ei asennettu</string>
<string name="antiadslist">Tämä sovellus sisältää mainoksia</string>
<string name="antitracklist">Tämä sovellus tarkkailee ja raportoi toimintaasi</string>

View File

@ -57,7 +57,6 @@
<string name="menu_issues">Problèmes</string>
<string name="menu_source">Code source</string>
<string name="menu_upgrade">Mettre à jour</string>
<string name="menu_donate">Faire un don</string>
<string name="details_notinstalled">Non installée</string>
<string name="antiadslist">Cette appli contient des publicités</string>
<string name="antitracklist">Cette appli suit et transmet votre activité</string>

View File

@ -35,7 +35,6 @@
<string name="menu_issues">Incidencias</string>
<string name="menu_source">Código fonte</string>
<string name="menu_upgrade">Actualizar</string>
<string name="menu_donate">Doar</string>
<string name="details_notinstalled">Non instalada</string>
<string name="antiadslist">Esta aplicación contén publicidade</string>
<string name="antitracklist">Esta aplicación rexistra e informa da túa actividade</string>

View File

@ -57,7 +57,6 @@
<string name="menu_changelog">יומן שינויים</string>
<string name="menu_source">קוד מקור</string>
<string name="menu_upgrade">עדכון</string>
<string name="menu_donate">תרומות</string>
<string name="details_notinstalled">לא מותקן</string>
<string name="antiadslist">יישומון זה מכיל פרסום</string>
<string name="antitracklist">יישומון זה עוקב ומדווח על פעילותך</string>

View File

@ -200,7 +200,6 @@
<string name="menu_issues">मुद्दे</string>
<string name="menu_changelog">मुद्दे</string>
<string name="menu_source">सोर्स कोड</string>
<string name="menu_donate">दान करना</string>
<string name="menu_bitcoin">Bitcoin</string>
<string name="menu_litecoin">Litecoin</string>
<string name="menu_flattr">Flattr</string>

View File

@ -78,7 +78,6 @@
<string name="menu_changelog">Zapis o promjenama</string>
<string name="menu_source">Izvorni kod</string>
<string name="menu_upgrade">Ažuriraj</string>
<string name="menu_donate">Doniraj</string>
<string name="menu_bitcoin">Bitcoin</string>
<string name="menu_litecoin">Litecoin</string>
<string name="menu_flattr">Flattr</string>

View File

@ -41,7 +41,6 @@
<string name="menu_issues">Problémák</string>
<string name="menu_source">Forráskód</string>
<string name="menu_upgrade">Frissítés</string>
<string name="menu_donate">Adományozás</string>
<string name="details_notinstalled">Nincs telepítve</string>
<string name="antiadslist">Az alkalmazás reklámot tartalmaz</string>
<string name="antitracklist">Az alkalmazás nyomon követi és jelenti a tevékenységeit</string>

View File

@ -44,7 +44,6 @@
<string name="menu_install">Տեղադրել</string>
<string name="menu_uninstall">Ապատեղադրել</string>
<string name="menu_website">Կայք</string>
<string name="menu_donate">Նվիրաբերել</string>
<string name="preference_category__my_apps">Իմ ափփերը</string>
<string name="next">Հաջորդը</string>
<string name="skip">Բաց թողնել</string>

View File

@ -63,7 +63,6 @@
<string name="menu_changelog">Catatan Perubahan</string>
<string name="menu_source">Kode Sumber</string>
<string name="menu_upgrade">Perbarui</string>
<string name="menu_donate">Donasi</string>
<string name="menu_bitcoin">Bitcoin</string>
<string name="menu_litecoin">Litecoin</string>
<string name="menu_flattr">Flattr</string>

View File

@ -70,7 +70,6 @@
<string name="menu_changelog">Breytingaskrá</string>
<string name="menu_source">Upprunakóði</string>
<string name="menu_upgrade">Uppfæra</string>
<string name="menu_donate">Styrkja</string>
<string name="menu_bitcoin">Bitcoin</string>
<string name="menu_litecoin">Litecoin</string>
<string name="menu_flattr">Flattr</string>

View File

@ -55,7 +55,6 @@
<string name="menu_issues">Problemi</string>
<string name="menu_source">Codice sorgente</string>
<string name="menu_upgrade">Aggiorna</string>
<string name="menu_donate">Dona</string>
<string name="details_notinstalled">Non installato</string>
<string name="antiadslist">Questa app contiene pubblicità</string>
<string name="antitracklist">Questa app monitora e riferisce sulle tue attività</string>

View File

@ -53,7 +53,6 @@
<string name="menu_issues">課題</string>
<string name="menu_source">ソースコード</string>
<string name="menu_upgrade">アップデート</string>
<string name="menu_donate">寄付する</string>
<string name="details_notinstalled">未インストール</string>
<string name="antiadslist">このアプリは広告を表示します</string>
<string name="antitracklist">このアプリはあなたの操作を記録し報告します</string>

View File

@ -75,7 +75,6 @@
<string name="menu_video">Ividyuten</string>
<string name="menu_license">%s Turagt</string>
<string name="menu_source">Tangalt taγbalut</string>
<string name="menu_donate">Tawsa</string>
<string name="antifeatures">Timahilin</string>
<string name="display">Askan</string>
<string name="search_hint">Nadi</string>

View File

@ -39,7 +39,6 @@
<string name="details_new_in_version">%s ನೇ ಆವೃತ್ತಿಯಲ್ಲಿ ಹೊಸತು</string>
<string name="main_menu__swap_nearby">ಹತ್ತಿರವೇನಿದೆ</string>
<string name="main_menu__latest_apps">ಇತ್ತೀಚಿನ</string>
<string name="menu_donate">ದೇಣಿಗೆ</string>
<string name="menu_website">ಜಾಲತಾಣ</string>
<string name="menu_email">ಲೇಖಕರಿಗೆ ಇಮೇಲ್ ಮಾಡಿ</string>
<string name="menu_share">ಹಂಚಿರಿ</string>

View File

@ -53,7 +53,6 @@
<string name="menu_issues">이슈</string>
<string name="menu_source">소스 코드</string>
<string name="menu_upgrade">업데이트</string>
<string name="menu_donate">기부</string>
<string name="details_notinstalled">설치되지 않음</string>
<string name="antiadslist">이 앱에는 광고를 포함합니다</string>
<string name="antitracklist">이 앱은 당신의 활동을 추적하여 보고합니다</string>

View File

@ -35,7 +35,6 @@
<string name="menu_website">Svetainė</string>
<string name="menu_source">Išeities tekstai</string>
<string name="menu_upgrade">Atnaujinti</string>
<string name="menu_donate">Paaukoti</string>
<string name="details_notinstalled">Neįdiegta</string>
<string name="display">Rodymas</string>
<string name="show_incompat_versions">Rodyti nesuderinamas versijas</string>

View File

@ -49,7 +49,6 @@
<string name="menu_website">Mājaslapa</string>
<string name="menu_source">Pirmkods</string>
<string name="menu_upgrade">Atjaunināt</string>
<string name="menu_donate">Ziedot</string>
<string name="details_notinstalled">Nav instalēts</string>
<string name="antiadslist">Programma satur reklāmu</string>
<string name="antitracklist">Šī programma seko jūsu aktivitātēm un ziņo par tām</string>

View File

@ -151,7 +151,6 @@
<string name="menu_video">വീഡിയോ</string>
<string name="menu_license">അനുമതി: %s</string>
<string name="menu_source">സോഴ്സ് കോഡ്</string>
<string name="menu_donate">സംഭാവനചെയ്യുക</string>
<string name="menu_bitcoin">ബിറ്റ്കോയിന്‍</string>
<string name="menu_litecoin">ലെെറ്റ്കോയിന്‍</string>
<string name="menu_flattr">Flattr</string>

View File

@ -93,7 +93,6 @@
<string name="menu_changelog">ေျပာင္းလဲမႈမွတ္တမ္း</string>
<string name="menu_source">ဆိုစ့္ကုဒ္</string>
<string name="menu_upgrade">အဆင့္ျမင့္တင္မည္</string>
<string name="menu_donate">လွဴဒါန္းမည္</string>
<string name="menu_bitcoin">Bitcoin</string>
<string name="menu_litecoin">Litecoin</string>
<string name="details_notinstalled">မသြင္းထားခဲ့ပါ</string>

View File

@ -53,7 +53,6 @@
<string name="menu_issues">Problemoversikt</string>
<string name="menu_source">Kildekode</string>
<string name="menu_upgrade">Oppdater</string>
<string name="menu_donate">Doner</string>
<string name="details_notinstalled">Ikke installert</string>
<string name="antiadslist">Dette programmet inneholder reklame</string>
<string name="antitracklist">Dette programmet sporer og rapporterer din aktivitet</string>

View File

@ -174,7 +174,6 @@
<string name="menu_video">Video</string>
<string name="menu_license">Licentie: %s</string>
<string name="menu_source">Broncode</string>
<string name="menu_donate">Doneren</string>
<string name="menu_bitcoin">Bitcoin</string>
<string name="menu_litecoin">Litecoin</string>
<string name="menu_flattr">Flattr</string>

View File

@ -53,7 +53,6 @@
<string name="menu_issues">Problemen</string>
<string name="menu_source">Broncode</string>
<string name="menu_upgrade">Bijwerken</string>
<string name="menu_donate">Doneer</string>
<string name="details_notinstalled">Niet geïnstalleerd</string>
<string name="antiadslist">Deze app bevat advertenties</string>
<string name="antitracklist">Deze app houdt je activiteiten bij en rapporteert ze</string>

View File

@ -204,7 +204,6 @@
<string name="menu_source">Kjeldekode</string>
<string name="menu_translation">Omsetjing</string>
<string name="menu_downgrade">Nedgrader</string>
<string name="menu_donate">Gje pengegåve</string>
<string name="menu_bitcoin">Bitcoin</string>
<string name="menu_litecoin">Litecoin</string>
<string name="menu_flattr">Flattr</string>

View File

@ -129,7 +129,6 @@
<string name="menu_issues">Problemy</string>
<string name="menu_changelog">Lista zmian</string>
<string name="menu_source">Kod źródłowy</string>
<string name="menu_donate">Dotacja</string>
<string name="antitracklist">Ta aplikacja śledzi i raportuje Twoją aktywność</string>
<string name="show_incompat_versions_on">Pokazuj aplikacje, które są niekompatybilne z tym urządzeniem</string>
<string name="status_download">Pobieranie\n%2$s / %3$s (%4$d%%) z\n%1$s</string>

View File

@ -56,7 +56,6 @@
<string name="menu_issues">Problemas</string>
<string name="menu_source">Código Fonte</string>
<string name="menu_upgrade">Atualizar</string>
<string name="menu_donate">Fazer doação</string>
<string name="details_notinstalled">Não instalado</string>
<string name="antiadslist">Este aplicativo contém anúncios</string>
<string name="antitracklist">Este aplicativo rastreia e relata sua atividade</string>

View File

@ -66,7 +66,6 @@
<string name="menu_changelog">Registo de alterações</string>
<string name="menu_source">Código-fonte</string>
<string name="menu_upgrade">Atualizar</string>
<string name="menu_donate">Doar</string>
<string name="menu_bitcoin">Bitcoin</string>
<string name="menu_litecoin">Litecoin</string>
<string name="menu_flattr">Flattr</string>

View File

@ -204,7 +204,6 @@
<string name="menu_source">Código-fonte</string>
<string name="menu_translation">Tradução</string>
<string name="menu_downgrade">Desatualizar</string>
<string name="menu_donate">Doar</string>
<string name="menu_bitcoin">Bitcoin</string>
<string name="menu_litecoin">Litecoin</string>
<string name="menu_flattr">Flattr</string>

View File

@ -25,7 +25,6 @@
<string name="menu_uninstall">Dezinstalează</string>
<string name="menu_ignore_all">Ignoră toate actualizările</string>
<string name="menu_website">Site web</string>
<string name="menu_donate">Donează</string>
<string name="details_notinstalled">Nu e instalată</string>
<string name="display">Interfață</string>
<string name="expert">Setări expert</string>

View File

@ -53,7 +53,6 @@
<string name="menu_issues">Ошибки</string>
<string name="menu_source">Исходный код</string>
<string name="menu_upgrade">Обновить</string>
<string name="menu_donate">Пожертвовать</string>
<string name="details_notinstalled">Не установлено</string>
<string name="antiadslist">Это приложение содержит рекламу</string>
<string name="antitracklist">Это приложение отслеживает и сообщает о вашей деятельности</string>

View File

@ -54,7 +54,6 @@
<string name="menu_issues">Problemas</string>
<string name="menu_source">Còdighe mitza</string>
<string name="menu_upgrade">Agiorna</string>
<string name="menu_donate">Dona</string>
<string name="details_notinstalled">Non installada</string>
<string name="antiadslist">Custa aplicatzione cuntènnidi publitzidade</string>
<string name="antitracklist">Custa aplicatzione compidat e riferit a àteros de sas atividades tuas</string>

View File

@ -56,7 +56,6 @@
<string name="menu_issues">Problémy</string>
<string name="menu_source">Zdrojový kód</string>
<string name="menu_upgrade">Aktualizovať</string>
<string name="menu_donate">Darovať peniaze</string>
<string name="details_notinstalled">Nie je nainštalované</string>
<string name="antiadslist">Táto aplikácia obsahuje reklamy</string>
<string name="antitracklist">Táto aplikácia zaznamenáva a hlási vaše aktivity</string>

View File

@ -24,7 +24,6 @@
<string name="menu_website">Spletišče</string>
<string name="menu_issues">Težave</string>
<string name="menu_source">Izvorna koda</string>
<string name="menu_donate">Donacija</string>
<string name="details_notinstalled">Ni nameščeno</string>
<string name="antiadslist">Ta aplikacija vsebuje oglaševanje</string>
<string name="expert">Napredno</string>

View File

@ -94,7 +94,6 @@
<string name="menu_changelog">Shandura Rutarwa rwemakare</string>
<string name="menu_source">Nyuko yemurau</string>
<string name="menu_upgrade">Kwidziridza</string>
<string name="menu_donate">Ipa</string>
<string name="menu_bitcoin">Bitcoin</string>
<string name="menu_litecoin">Litecoin</string>
<string name="menu_flattr">Flattr</string>

View File

@ -33,7 +33,6 @@
<string name="menu_uninstall">Çinstaloje</string>
<string name="menu_ignore_this">Shpërfille Këtë Përditësim</string>
<string name="menu_source">Kod Burim</string>
<string name="menu_donate">Dhuroni</string>
<string name="menu_bitcoin">Bitcoin</string>
<string name="menu_litecoin">Litecoin</string>
<string name="menu_flattr">Flattr</string>

View File

@ -52,7 +52,6 @@
<string name="menu_issues">Праћење недостатака</string>
<string name="menu_source">Изворни кôд</string>
<string name="menu_upgrade">Надгради</string>
<string name="menu_donate">Приложите</string>
<string name="details_notinstalled">Није уграђен</string>
<string name="antiadslist">Овај програм садржи огласе</string>
<string name="antitracklist">Овај програм прати и пријављује Ваша дејства</string>

View File

@ -53,7 +53,6 @@
<string name="menu_issues">Fel</string>
<string name="menu_source">Källkod</string>
<string name="menu_upgrade">Uppdatera</string>
<string name="menu_donate">Donera</string>
<string name="details_notinstalled">Inte installerad</string>
<string name="antiadslist">Den här appen innehåller reklam</string>
<string name="antitracklist">Den här appen spårar och rapporterar om din aktivitet</string>

View File

@ -59,7 +59,6 @@
<string name="menu_changelog">மாற்றக் குறிப்புகள்</string>
<string name="menu_source">மூல ஆதார நிரல்</string>
<string name="menu_upgrade">மேம்படுத்து</string>
<string name="menu_donate">கொடை செய்க</string>
<string name="menu_bitcoin">Bitcoin</string>
<string name="menu_litecoin">Litecoin</string>
<string name="menu_flattr">Flattr</string>

View File

@ -40,7 +40,6 @@
<string name="menu_changelog">మార్పులచిట్టా</string>
<string name="menu_video">వీడియో</string>
<string name="menu_license">లైసెన్సు: %s</string>
<string name="menu_donate">విరాళమివ్వండి</string>
<string name="menu_bitcoin">బిట్‌కాయిన్</string>
<string name="menu_litecoin">లైట్‌కాయిన్</string>
<string name="menu_flattr">ఫ్లాట్‌ర్</string>

View File

@ -59,7 +59,6 @@
<string name="menu_changelog">รายการความเปลี่ยนแปลง</string>
<string name="menu_source">ซอร์สโค้ด</string>
<string name="menu_upgrade">อัพเกรด</string>
<string name="menu_donate">บริจาคสนับสนุน</string>
<string name="menu_bitcoin">Bitcoin</string>
<string name="menu_litecoin">Litecoin</string>
<string name="menu_flattr">Flattr</string>

View File

@ -53,7 +53,6 @@
<string name="menu_issues">Sorunlar</string>
<string name="menu_source">Kaynak Kodu</string>
<string name="menu_upgrade">Güncelle</string>
<string name="menu_donate">Bağış Yap</string>
<string name="details_notinstalled">Yüklü değil</string>
<string name="antiadslist">Bu uygulama reklam içeriyor</string>
<string name="antitracklist">Bu uygulama etkinliğinizi izler ve raporlar</string>

View File

@ -36,7 +36,6 @@
<string name="menu_issues">مەسىلىلەر</string>
<string name="menu_source">ئەسلى كود</string>
<string name="menu_upgrade">يۈكسەلت</string>
<string name="menu_donate">ئىئانە</string>
<string name="details_notinstalled">ئورنىتىلمىدى</string>
<string name="antiadslist">بۇ ئەپتە ئېلان بار</string>
<string name="antitracklist">بۇ ئەپ پائالىيەتلىرىڭىزنى ئىزلاپ، دوكلات قىلىدۇ</string>

View File

@ -26,7 +26,6 @@
<string name="menu_website">Сайт</string>
<string name="menu_issues">Проблеми</string>
<string name="menu_source">Вихідний код</string>
<string name="menu_donate">Пожертва</string>
<string name="details_notinstalled">Не встановлено</string>
<string name="expert">Експертний режим</string>
<string name="search_hint">Пошук застосунків</string>

View File

@ -55,7 +55,6 @@
<string name="menu_issues">Vấn đề</string>
<string name="menu_source">Mã nguồn</string>
<string name="menu_upgrade">Cập nhật</string>
<string name="menu_donate">Ủng hộ</string>
<string name="details_notinstalled">Chưa cài đặt</string>
<string name="antiadslist">Ứng dụng này có quảng cáo</string>
<string name="antitracklist">Ứng dụng này theo dõi và báo cáo hoạt động của bạn</string>

View File

@ -47,7 +47,6 @@
<string name="menu_issues">报告错误</string>
<string name="menu_source">源代码</string>
<string name="menu_upgrade">更新</string>
<string name="menu_donate">捐赠</string>
<string name="details_notinstalled">未安装</string>
<string name="antiadslist">该应用程序包含广告</string>
<string name="antitracklist">此应用会记录并报告您的行为</string>

View File

@ -50,7 +50,6 @@
<string name="menu_issues">問題</string>
<string name="menu_source">原始碼</string>
<string name="menu_upgrade">升級</string>
<string name="menu_donate">捐款</string>
<string name="details_notinstalled">沒有安裝</string>
<string name="antiadslist">此應用程式含有廣告</string>
<string name="antitracklist">此應用程式會跟蹤及彙報您的行為</string>

View File

@ -66,7 +66,6 @@
<string name="menu_changelog">更新日誌</string>
<string name="menu_source">原始碼</string>
<string name="menu_upgrade">更新</string>
<string name="menu_donate">捐助</string>
<string name="menu_bitcoin">Bitcoin</string>
<string name="menu_litecoin">Litecoin</string>
<string name="menu_flattr">Flattr</string>

View File

@ -228,13 +228,14 @@ This often occurs with apps installed via Google Play or other sources, if they
<string name="menu_translation">Translation</string>
<string name="menu_upgrade">Update</string>
<string name="menu_downgrade">Downgrade</string>
<string name="menu_donate">Donate</string>
<string name="menu_bitcoin">Bitcoin</string>
<string name="menu_litecoin">Litecoin</string>
<!-- This is a brand name, it should only be translated if the company does so -->
<string name="menu_flattr">Flattr</string>
<!-- This is a brand name, it should only be translated if the company does so -->
<string name="menu_liberapay">Liberapay</string>
<!-- This is a brand name, it should only be translated if the company does so -->
<string name="menu_opencollective">OpenCollective</string>
<!-- The bottom bar button label -->
<string name="main_menu__latest_apps">Latest</string>
<!-- The bottom bar button label -->

View File

@ -1,7 +1,6 @@
package org.fdroid.fdroid.updater;
import android.content.ContentValues;
import org.fdroid.fdroid.BuildConfig;
import org.fdroid.fdroid.IndexUpdater;
import org.fdroid.fdroid.data.App;
@ -16,7 +15,7 @@ import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assert.assertThat;
/**
* Check whether app icons are loaded from the correct repository. The repository with the
@ -71,7 +70,8 @@ public class AppIconsTest extends MultiIndexUpdaterTest {
"org.adaway", new String[]{
Schema.AppMetadataTable.Cols.ICON_URL,
Schema.AppMetadataTable.Cols.ICON,
Schema.AppMetadataTable.Cols.REPO_ID});
Schema.AppMetadataTable.Cols.REPO_ID,
});
assertThat(app.getIconUrl(context), MatchesPattern.matchesPattern(expectedUrl));
}
}

View File

@ -149,9 +149,10 @@ public class IndexV1UpdaterTest extends FDroidProviderTest {
Schema.AppMetadataTable.Cols.ICON_URL,
Schema.AppMetadataTable.Cols.ICON,
Schema.AppMetadataTable.Cols.REPO_ID,
Schema.AppMetadataTable.Cols.Package.PACKAGE_NAME});
Schema.AppMetadataTable.Cols.Package.PACKAGE_NAME,
});
assertEquals("localized icon takes precedence", TESTY_CANONICAL_URL + "/"
+ app.packageName + "/en-US/icon.png", app.getIconUrl(context));
+ app.packageName + "/en-US/icon.png", app.getIconUrl(context));
}
@Test(expected = IndexUpdater.SigningException.class)
@ -266,6 +267,17 @@ public class IndexV1UpdaterTest extends FDroidProviderTest {
}
parser.close(); // ensure resources get cleaned up timely and properly
// test LiberapayID: -> Liberapay: migration
for (App app : apps) {
if ("org.witness.informacam.app".equals(app.packageName)) {
assertEquals("GuardianProject", app.liberapay);
} else if ("info.guardianproject.cacert".equals(app.packageName)) {
assertEquals("~1337", app.liberapay);
} else {
assertNull(app.liberapay);
}
}
RepoDetails indexV0Details = getFromFile("guardianproject_index.xml",
Repo.PUSH_REQUEST_ACCEPT_ALWAYS);
indexV0Details.apps.size();
@ -325,10 +337,11 @@ public class IndexV1UpdaterTest extends FDroidProviderTest {
"iconUrl",
"issueTracker",
"lastUpdated",
"liberapayID",
"liberapay",
"license",
"litecoin",
"name",
"openCollective",
"packageName",
"phoneScreenshots",
"promoGraphic",

View File

@ -28,6 +28,7 @@
"suggestedVersionCode": "999999999",
"description": "<p>Android 4+ allows you to disable certificates from the system Settings and root isn't required, so try that first if you want to manually mess with the certificates. The app won't work with Android 4+ anyway.</p><p>An app to manage security certificates on your phone also containing a version of the Android CACert keystore derived from Mozilla. If a certificate has recently become untrusted you can either install an update to this app or you can backup and remove certificates by yourself.</p><p>Requires root: Yes, it writes to the system partition. You will need a device that has the \u2018grep\u2019 command on it (via busybox: present on most custom ROMs). If the \u2018save\u2019 doesn\u2019t work, then you will need to make your /system partition read-write by using a file explorer like <a href=\"fdroid.app:com.ghostsq.commander\">Ghost Commander</a> or via a command in <a href=\"fdroid.app:jackpal.androidterm\">Terminal Emulator</a>.</p>",
"issueTracker": "https://github.com/guardianproject/cacert/issues",
"liberapayID": "1337",
"license": "GPLv3",
"name": "CACertMan",
"sourceCode": "https://github.com/guardianproject/cacert",
@ -47,8 +48,11 @@
"suggestedVersionCode": "9999999",
"description": "<p>An InformaCam app to generate verifiable media.</p>",
"issueTracker": "https://dev.guardianproject.info/projects/informacam/issues",
"liberapay": "GuardianProject",
"liberapayID": "27859",
"license": "GPLv3",
"name": "CameraV",
"openCollective": "GuardianProject",
"sourceCode": "https://github.com/guardianproject/CameraV",
"summary": "An InformaCam app to generate verifiable media",
"webSite": "https://guardianproject.info/apps/camerav/",