Merge branch 'master' into development

This commit is contained in:
Daniel Martí 2014-01-07 23:36:38 +01:00
commit db01c9c476
17 changed files with 103 additions and 25 deletions

@ -1 +1 @@
Subproject commit 66042fe4a38d5e96030144546290ba0404d24e28
Subproject commit 1c2a91e464b49874068a8bf2a6e39d39aae9208a

4
media/README Normal file
View File

@ -0,0 +1,4 @@
Most of the SVG files found in here are in the Inkscape format You should
convert them to plain SVG with Inkscape if you would like to use them in a
website, for example. Depending on the viewer/browser, the resulting look of
the SVG might differ.

View File

@ -7,6 +7,10 @@
<item>През 12 часа</item>
<item>Всеки ден</item>
</string-array>
<string-array name="themeNames">
<item>Dark</item>
<item>Light</item>
</string-array>
<string-array name="dbSyncModeNames">
<item>Изключено (опасно)</item>
<item>Нормално</item>

View File

@ -48,6 +48,9 @@ Die Adresse einer Paketquelle sieht etwa so aus: https://f-droid.org/repo</strin
<string name="repo_add_title">Paketquelle hinzufügen</string>
<string name="repo_add_add">Hinzufügen</string>
<string name="cancel">Abbrechen</string>
<string name="enable">Aktivieren</string>
<string name="add_key">Schlüssel hinzufügen</string>
<string name="overwrite">Überschreiben</string>
<string name="repo_delete_title">Zu entfernende Paketquelle auswählen</string>
<string name="repo_update_title">Paketquellen aktualisieren</string>
<string name="tab_installed">Installiert</string>
@ -60,6 +63,12 @@ Die Adresse einer Paketquelle sieht etwa so aus: https://f-droid.org/repo</strin
<string name="process_update_msg">Anwendungsliste wird aktualisiert …</string>
<string name="download_server">Anwendung wird heruntergeladen von</string>
<string name="repo_add_url">Adresse der Paketquelle</string>
<string name="repo_add_fingerprint">Fingerabdruck (optional)</string>
<string name="repo_exists">Diese Paketquelle existiert bereits!</string>
<string name="repo_exists_add_fingerprint">Diese Paketquelle ist bereits eingerichtet, dieses wird neue Schlüsselinformationen hinzuzufügen.</string>
<string name="repo_exists_enable">Diese Paketquelle ist bereits eingerichtet, bestätigen, dass Sie diese wieder aktivieren möchten.</string>
<string name="repo_exists_and_enabled">Die eingehende Paketquelle ist bereits eingerichtet und aktiviert!</string>
<string name="repo_delete_to_overwrite">Sie müssen zuerst diese Paketquelle löschen, bevor Sie eine mit einem anderen Schlüssel hinzuzufügen!</string>
<string name="repo_alrt">Die Liste der genutzten Paketquellen hat sich geändert.
Sollen diese aktualisiert werden?</string>
<string name="menu_update_repo">Paketquellen aktualisieren</string>
@ -69,7 +78,7 @@ Sollen diese aktualisiert werden?</string>
<string name="menu_search">Suchen</string>
<string name="menu_add_repo">Paketquelle hinzufügen</string>
<string name="menu_rem_repo">Paketquelle entfernen</string>
<string name="menu_launch">Ausführen</string>
<string name="menu_launch">Starten</string>
<string name="menu_share">Empfehlen</string>
<string name="menu_install">Installieren</string>
<string name="menu_uninstall">Entfernen</string>
@ -89,6 +98,7 @@ Sollen diese aktualisiert werden?</string>
<string name="antinonfreeadlist">Diese Anwendung bewirbt nicht freie Erweiterungen</string>
<string name="antinonfreenetlist">Diese Anwendung bewirbt nicht freie Netzwerkdienste</string>
<string name="antinonfreedeplist">Diese Anwendung hängt ab von nicht freien Anwendungen</string>
<string name="antiupstreamnonfreelist">Der Originalcode ist nicht völlig frei</string>
<string name="display">Anzeige</string>
<string name="expert">Experte</string>
<string name="expert_mode">Expertenmodus einschalten</string>

View File

@ -2,5 +2,18 @@
<resources>
<string-array name="updateIntervalNames">
<item>Neniam</item>
<item>Hourly</item>
<item>Every 4 Hours</item>
<item>Every 12 Hours</item>
<item>Daily</item>
</string-array>
<string-array name="themeNames">
<item>Dark</item>
<item>Light</item>
</string-array>
<string-array name="dbSyncModeNames">
<item>Off (unsafe)</item>
<item>Normal</item>
<item>Full</item>
</string-array>
</resources>

View File

@ -7,6 +7,10 @@
<item>12 orduero</item>
<item>Egunero</item>
</string-array>
<string-array name="themeNames">
<item>Dark</item>
<item>Light</item>
</string-array>
<string-array name="dbSyncModeNames">
<item>Itzalita (ez da segurua)</item>
<item>Normala</item>

View File

@ -7,6 +7,10 @@
<item>દર 12 કલાકે</item>
<item>દરરોજ</item>
</string-array>
<string-array name="themeNames">
<item>Dark</item>
<item>Light</item>
</string-array>
<string-array name="dbSyncModeNames">
<item>બંધ (અસુરક્ષિત)</item>
<item>સામાન્ય</item>

View File

@ -7,6 +7,10 @@
<item>Co 12 godzin</item>
<item>Codziennie</item>
</string-array>
<string-array name="themeNames">
<item>Dark</item>
<item>Light</item>
</string-array>
<string-array name="dbSyncModeNames">
<item>Wyłączone (niebezpieczne)</item>
<item>Normalny</item>

View File

@ -7,6 +7,10 @@
<item>La 12 ore</item>
<item>Zilnic</item>
</string-array>
<string-array name="themeNames">
<item>Dark</item>
<item>Light</item>
</string-array>
<string-array name="dbSyncModeNames">
<item>Inchis (nerecomandat)</item>
<item>Normal</item>

View File

@ -7,6 +7,10 @@
<item>Каждые 12 часов</item>
<item>Ежедневно</item>
</string-array>
<string-array name="themeNames">
<item>Dark</item>
<item>Light</item>
</string-array>
<string-array name="dbSyncModeNames">
<item>Откл. (опасно)</item>
<item>Обычный</item>

View File

@ -7,6 +7,10 @@
<item>Vsakih 12 ur</item>
<item>Dnevno</item>
</string-array>
<string-array name="themeNames">
<item>Dark</item>
<item>Light</item>
</string-array>
<string-array name="dbSyncModeNames">
<item>Izključeno (ni varno)</item>
<item>Običajno</item>

View File

@ -7,6 +7,10 @@
<item>Сваких 12 сати</item>
<item>Једном Дневно</item>
</string-array>
<string-array name="themeNames">
<item>Dark</item>
<item>Light</item>
</string-array>
<string-array name="dbSyncModeNames">
<item>Искључено (није безбедно)</item>
<item>Нормално</item>

View File

@ -7,6 +7,10 @@
<item>Кожні 12 годин</item>
<item>Щодня</item>
</string-array>
<string-array name="themeNames">
<item>Dark</item>
<item>Light</item>
</string-array>
<string-array name="dbSyncModeNames">
<item>Ніколи (небезпечно)</item>
<item>Типово</item>

View File

@ -7,6 +7,10 @@
<item>每12个小时</item>
<item>每天</item>
</string-array>
<string-array name="themeNames">
<item>Dark</item>
<item>Light</item>
</string-array>
<string-array name="dbSyncModeNames">
<item>关闭(存在安全风险)</item>
<item>正常</item>

View File

@ -47,6 +47,7 @@ import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.preference.PreferenceManager;
import android.text.TextUtils.SimpleStringSplitter;
import android.util.DisplayMetrics;
import android.util.Log;
import org.fdroid.fdroid.compat.Compatibility;
@ -705,16 +706,8 @@ public class DB {
}
}
// Start the map at the actual number of apps we will have
Cursor c = db.rawQuery("select count(*) from "+TABLE_APP, null);
c.moveToFirst();
int count = c.getInt(0);
c.close();
c = null;
Log.d("FDroid", "Will be fetching " + count + " apps, and this took us ");
Map<String, App> apps = new HashMap<String, App>(count);
Map<String, App> apps = new HashMap<String, App>();
Cursor c = null;
long startTime = System.currentTimeMillis();
try {
@ -772,7 +765,7 @@ public class DB {
c.close();
c = null;
Log.d("FDroid", "Read app data from database (took "
Log.d("FDroid", "Read app data from database " + " (took "
+ (System.currentTimeMillis() - startTime) + " ms)");
List<Repo> repos = getRepos();
@ -784,6 +777,25 @@ public class DB {
c = db.query(TABLE_APK, cols, null, null, null, null,
"vercode desc");
c.moveToFirst();
DisplayMetrics metrics = mContext.getResources()
.getDisplayMetrics();
String iconsDir = null;
if (metrics.densityDpi >= 640) {
iconsDir = "/icons-640/";
} else if (metrics.densityDpi >= 480) {
iconsDir = "/icons-480/";
} else if (metrics.densityDpi >= 320) {
iconsDir = "/icons-320/";
} else if (metrics.densityDpi >= 240) {
iconsDir = "/icons-240/";
} else if (metrics.densityDpi >= 160) {
iconsDir = "/icons-160/";
} else {
iconsDir = "/icons-120/";
}
metrics = null;
while (!c.isAfterLast()) {
String id = c.getString(0);
App app = apps.get(id);
@ -811,11 +823,13 @@ public class DB {
app.apks.add(apk);
if (app.iconUrl == null && app.icon != null) {
for (DB.Repo repo : repos) {
if (repo.id == repoid) {
app.iconUrl =
repo.address + "/icons/" + app.icon;
break;
if (repo.id != repoid) continue;
if (repo.version >= 11) {
app.iconUrl = repo.address + iconsDir + app.icon;
} else {
app.iconUrl = repo.address + "/icons/" + app.icon;
}
break;
}
}
c.moveToNext();
@ -831,7 +845,7 @@ public class DB {
c.close();
}
Log.d("FDroid", "Read app and apk data from database (took "
Log.d("FDroid", "Read app and apk data from database " + " (took "
+ (System.currentTimeMillis() - startTime) + " ms)");
}

View File

@ -151,7 +151,7 @@ public class ManageRepo extends ListActivity {
DB.Repo repo = (DB.Repo)getListView().getItemAtPosition(position);
editRepo(repo);
}
}
private void refreshList() {
repoAdapter.refresh();

View File

@ -119,14 +119,11 @@ public class SearchResults extends ListActivity {
TextView tv = (TextView) findViewById(R.id.description);
String headertext;
if (apps.size() == 0) {
headertext = String.format(getString(R.string.searchres_noapps),
mQuery);
headertext = getString(R.string.searchres_noapps, mQuery);
} else if (apps.size() == 1) {
headertext = String.format(getString(R.string.searchres_oneapp),
mQuery);
headertext = getString(R.string.searchres_oneapp, mQuery);
} else {
headertext = String.format(getString(R.string.searchres_napps),
apps.size(), mQuery);
headertext = getString(R.string.searchres_napps, apps.size(), mQuery);
}
tv.setText(headertext);
Log.d("FDroid", "Search for '" + mQuery + "' returned " + apps.size()