Merge branch 'clean-up-tabs-fragments' into 'master'

Clean up tabs fragments

No functional changes, just refactoring. The only visual change is that empty text is now positioned at the center which was the initial design (as far as I understand):

![screenshot](/uploads/1f930f283dae86f20675c11c861183f2/screenshot.png)


See merge request !165
This commit is contained in:
Daniel Martí 2015-11-09 16:09:20 +00:00
commit ad4e53098a
47 changed files with 65 additions and 406 deletions

View File

@ -42,7 +42,6 @@
android:layout_width="0px"
android:layout_weight="0.5"
android:layout_height="wrap_content"
android:name="org.fdroid.fdroid.AppDetails$AppDetailsListFragment"
tools:layout="@android:layout/list_content"/>
android:name="org.fdroid.fdroid.AppDetails$AppDetailsListFragment"/>
</LinearLayout>

View File

@ -26,7 +26,6 @@
android:id="@+id/fragment_app_list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:name="org.fdroid.fdroid.AppDetails$AppDetailsListFragment"
tools:layout="@android:layout/list_content"/>
android:name="org.fdroid.fdroid.AppDetails$AppDetailsListFragment" />
</LinearLayout>

View File

@ -2,8 +2,7 @@
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
android:layout_height="match_parent">
<Spinner
android:id="@+id/category_spinner"
@ -19,21 +18,12 @@
android:layout_alignBottom="@id/category_spinner"
android:background="@color/fdroid_green" />
<!-- The empty app list message gets shown on the parent of the @android:id/list.
For the update/installed lists, this is not a problem as it is attached to the linear
layout the list is in. However here, it will end up in the relative layout which
causes sadness. This FrameLayout is here so that the empty message will get shown here. -->
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/category_spinner">
<ListView
android:id="@android:id/list"
android:fastScrollEnabled="true"
android:layout_width="match_parent"
android:layout_height="match_parent" />
style="@style/AppList"
android:layout_below="@id/category_spinner" />
</FrameLayout>
<TextView
style="@style/AppListEmptyText"
android:text="@string/empty_available_app_list" />
</RelativeLayout>

View File

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ListView
style="@style/AppList" />
<TextView
style="@style/AppListEmptyText"
android:text="@string/empty_can_update_app_list" />
</RelativeLayout>

View File

@ -1,19 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="20dp"
android:gravity="center_vertical">
<TextView
android:id="@+id/text"
android:layout_gravity="center_horizontal"
android:textAlignment="center"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:textSize="20sp"
tools:text="No apps in this category.\n\nTry selecting a different category or updating your repositories to get a fresh list of apps." />
</LinearLayout>

View File

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ListView
style="@style/AppList" />
<TextView
style="@style/AppListEmptyText"
android:text="@string/empty_installed_app_list" />
</RelativeLayout>

View File

@ -1,66 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Ported from the android-19 source. This was necessary so that we could inflate
the view ourself (and hence theme it), but also get references to the relevant
widgets (e.g. empty text view, progress bar, list). The list_content view we
ported this from uses hidden/internal id's that we don't get the privilege of
using. In the process, we also:
* Added tools: attributes.
* Changed the names of an id or two so that I can reference them from Java.
-->
<!--
/* Copyright 2010, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.
** You may obtain a copy of the License at
**
** http://www.apache.org/licenses/LICENSE-2.0
**
** Unless required by applicable law or agreed to in writing, software
** distributed under the License is distributed on an "AS IS" BASIS,
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
** See the License for the specific language governing permissions and
** limitations under the License.
*/
-->
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".views.swap.SwapActivity">
<LinearLayout android:id="@+id/progressContainer"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="gone"
android:gravity="center">
<ProgressBar style="?android:attr/progressBarStyleLarge"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@android:id/progress"/>
</LinearLayout>
<FrameLayout android:id="@+id/listContainer"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ListView android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:drawSelectorOnTop="false"
tools:listitem="@layout/applistitem"
tools:listheader="@layout/swap_create_header" />
<TextView android:id="@android:id/empty"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:textAppearance="?android:attr/textAppearanceLarge" />
</FrameLayout>
</FrameLayout>

View File

@ -1,8 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/text_description"
android:text="@string/swap_tap_to_select_apps"
style="@style/SwapTheme.StartSwap.MainText"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

View File

@ -68,5 +68,4 @@
<string name="category_Science_Education">العلوم و التعليم</string>
<string name="category_Security">الأمان</string>
<string name="category_System">النظام</string>
<string name="update_all">تحديث الكل</string>
</resources>

View File

@ -173,7 +173,6 @@ Deberíes tener procuru con aplicaciones baxaes dende índices ensin roblar.</st
<string name="requesting_root_access_body">Solicitando l\'accesu root…</string>
<string name="root_access_denied_title">Refugóse l\'accesu root</string>
<string name="root_access_denied_body">O\'l to preséu Android nun ta rootexáu o refuguesti l\'accesu root pa F-Droid.</string>
<string name="update_all">Anovar too</string>
<string name="system_install_denied_title">Nun ta disponible F-Droid privilexáu</string>
<string name="system_install_denied_body">Esta opción ta namái disponible cuando s\'instale F-Droid como una aplicación del sistema.</string>
<string name="app_description">F-Droid ye un catálogu de software FOSS (software llibre y de baldre) instalable pa la plataforma Android. El veceru fai cenciello restolar, instalar y caltener el rastrexu d\'anovamientos nel to preséu.</string>
@ -214,7 +213,6 @@ Deberíes tener procuru con aplicaciones baxaes dende índices ensin roblar.</st
<string name="swap_setting_up_bluetooth">Configurando Bluetooth…</string>
<string name="swap_scanning_for_peers">Guetando xente averao…</string>
<string name="swap_dont_show_again">Nun amosar de nueves esto</string>
<string name="swap_tap_to_select_apps">Calca pa esbillar les aplicaciones que quies intercambiar.</string>
<string name="swap_switch_to_wifi">Calca pa camudar a una rede WiFi</string>
<string name="swap_success">¡Intercambéu esitosu!</string>
<string name="theme_dark">Escuru</string>

View File

@ -148,7 +148,6 @@
<string name="category_System">Система</string>
<string name="requesting_root_access_body">Изисква Root достъп…</string>
<string name="root_access_denied_title">Root достъпът е отказан</string>
<string name="update_all">Актуализирай всички</string>
<string name="system_install_denied_body">Опцията е налична само когато сте инсталирали F-Droid като системно приложение.</string>
<string name="swap_nfc_description">Ако приятелят ви има F-Droid и е активирал NFC можете да докоснете телефоните си.</string>
<string name="swap_join_same_wifi">Свържете се към една и съща Wi-Fi мрежа с приятеля си</string>
@ -248,7 +247,6 @@
<string name="swap_nfc_title">Натиснете за размяна</string>
<string name="swap_success">Успешна размяна!</string>
<string name="swap_switch_to_wifi">Натиснете за смяна на Wi-Fi мрежата</string>
<string name="swap_tap_to_select_apps">Натиснете приложенията които желаете да размените.</string>
<string name="swap_dont_show_again">Не показвай повече</string>
<string name="repo_exists_add_fingerprint">Хранилището е вече настроено, сега ще бъде добавена информация за ключа.</string>
<string name="repo_exists_enable">Хранилището е вече настроено, потвърдете че желаете да бъде включено.</string>

View File

@ -171,7 +171,6 @@ Tingueu compte amb aplicacions baixades des de dipòsits sense empremta digital.
<string name="requesting_root_access_body">S\'estan demanant privilegis d\'administrador…</string>
<string name="root_access_denied_title">Accés com a administrador rebutjat</string>
<string name="root_access_denied_body">Aquest dispositiu Android no permet actuar com a administrador o bé no heu donat privilegis d\'administrador a l\'F-Droid.</string>
<string name="update_all">Actualitza-ho tot</string>
<string name="system_install_denied_body">Només disponible quan F-Droid és instal·lat com una aplicació al sistema.</string>
<string name="app_description">F-Droid és un catàleg instal·lable d\'aplicacions lliures per a la plataforma Android. El client facilita la cerca, l\'instal·lació i l\'actualització d\'aplicacions al vostre dispositiu.</string>
<string name="swap_join_same_wifi">Uniu-vos a la Wi-Fi del vostre amic</string>

View File

@ -141,7 +141,6 @@ Uvolněno pod GPLv3 licencí.</string>
<string name="requesting_root_access_body">Získávám root oprávnění…</string>
<string name="root_access_denied_title">Root přístup odepřen</string>
<string name="root_access_denied_body">Buď toto Android zařízení není rootnuté, nebo jsi odepřel F-Droidu opránění roota.</string>
<string name="update_all">Aktualizovat vše</string>
<string name="system_install_denied_title">Systémová oprávnění odepřena</string>
<string name="system_install_denied_body">Tato volba je dostupná pouze, pokud je F-Droid nainstalován jako systémová aplikace.</string>
<string name="swap_join_same_wifi">Připoj se na stejnou WiFi jako tvůj přítel</string>

View File

@ -178,7 +178,6 @@ wird verbunden</string>
<string name="requesting_root_access_body">Root-Rechte werden angefordert …</string>
<string name="root_access_denied_title">Root-Zugriff verweigert</string>
<string name="root_access_denied_body">Entweder ist Ihr Android-Gerät nicht gerootet oder Sie haben den Root-Zugriff für F-Droid verweigert.</string>
<string name="update_all">Alle aktualisieren</string>
<string name="system_install_denied_title">Systemberechtigungen verweigert</string>
<string name="system_install_denied_body">Diese Option ist nur verfügbar, wenn F-Droid als System-App installiert wurde.</string>
<string name="app_description">F-Droid ist ein installierbarer App-Store für FOSS (Freie und Quelloffene Software) Anwendungen für die Android-Plattform. Der Client macht es auf deinem Gerät einfach zu durchsuchen, zu installieren und Aktualisierungen zu verfolgen.</string>

View File

@ -228,7 +228,6 @@
<string name="requesting_root_access_body">Αίτηση πρόσβασης υπερχρήστη…</string>
<string name="root_access_denied_title">Άρνηση πρόσβασης υπερχρήστη</string>
<string name="root_access_denied_body">Είτε η συσκευή σας Android δε έχει ενεργοποιημένο υπερχρήστη ή έχετε αρνηθεί την πρόσβαση υπερχρήστη για το F-Droid.</string>
<string name="update_all">Ενημέρωση όλων</string>
<string name="install_error_title">Σφάλμα εγκατάστασης</string>
<string name="install_error_unknown">Απέτυχε η εγκατάσταση λόγω άγνωστου προβλήματος</string>
<string name="install_error_cannot_parse">Παρουσιάστηκε σφάλμα κατά την ανάλυση του πακέτου</string>
@ -268,7 +267,6 @@
<string name="open_qr_code_scanner">Ανοίξτε τον σαρωτή QR</string>
<string name="swap_welcome">Καλώς ήλθατε στο F-Droid!</string>
<string name="swap_confirm_connect">Θέλετε να πάρετε εφαρμογές από %1$s τώρα;</string>
<string name="swap_tap_to_select_apps">Πατήστε για να επιλέξετε τις εφαρμογές που θέλετε να ανταλλάξετε.</string>
<string name="swap_dont_show_again">Να μην εμφανιστεί ξανά</string>
<string name="swap_scan_or_type_url">Ένα άτομο πρέπει να σαρώσει τον κωδικό, ή να πληκτρολογήσει τη διεύθυνση URL του άλλου σε ένα πρόγραμμα περιήγησης.</string>
<string name="swap_choose_apps">Επιλέξτε εφαρμογές</string>

View File

@ -109,7 +109,6 @@
<string name="category_Science_Education">Scienco &amp; Edukado</string>
<string name="category_Security">Sekureco</string>
<string name="category_System">Sistemo</string>
<string name="update_all">Ĝisdatigi ĉiujn</string>
<string name="swap_no_wifi_network">Ankoraŭ neniu reto</string>
<string name="swap_view_available_networks">(Tuŝu por montri disponeblajn retojn)</string>
<string name="open_qr_code_scanner">Malfermi QR-kodan skanilon</string>

View File

@ -177,7 +177,6 @@ Deberías tener cuidado con aplicaciones descargadas desde índices no firmados.
<string name="requesting_root_access_body">Solicitando acceso «root»…</string>
<string name="root_access_denied_title">Acceso «root» denegado</string>
<string name="root_access_denied_body">El dispositivo Android no está «rooteado» o se ha denegado el acceso «root» para F-Droid.</string>
<string name="update_all">Actualizar todo</string>
<string name="system_install_denied_title">La extensión de F-Droid con permisos de sistema no está disponible</string>
<string name="system_install_denied_body">"Esta opción sólo está disponible cuando la extensión de F-Droid con permisos de sistema está instalada."</string>
<string name="app_description">F-Droid es un catálogo instalable de aplicaciones FOSS (Software libre y de Código Abierto) para la plataforma Android. El cliente hace que sea fácil navegar, instalar y mantener un registro de cambios en el dispositivo.</string>
@ -247,7 +246,6 @@ Deberías tener cuidado con aplicaciones descargadas desde índices no firmados.
<string name="swap_success">¡Intercambio realizado con éxito!</string>
<string name="swap_active_hotspot">%1$s (tu punto de acceso)</string>
<string name="swap_switch_to_wifi">Toca para cambiar a una red Wi-Fi</string>
<string name="swap_tap_to_select_apps">Toca para seleccionar las aplicaciones que quieres intercambiar.</string>
<string name="swap_dont_show_again">No volver a mostrar esto</string>
<string name="swap_scan_or_type_url">Una persona tiene que escanear el código, o escribir la URL de la otra en el navegador.</string>
<string name="swap_choose_apps">Elige las aplicaciones</string>

View File

@ -245,7 +245,6 @@ konektatzen</string>
<string name="requesting_root_access_body">Root baimena eskatzen…</string>
<string name="root_access_denied_title">Root baimena ukatu da</string>
<string name="root_access_denied_body">Bietako bat, zure Android gailuan ez dago root baimena eskuratzea edo zuk ukatu diozu F-Droid aplikazioari root baimena.</string>
<string name="update_all">Eguneratu guztiak</string>
<string name="install_error_title">Instalazio errorea</string>
<string name="install_error_unknown">Instalazioak huts egin du errore ezezagun bat dela eta</string>
<string name="install_error_cannot_parse">Errore bat gertatu da paketea prozesatzean</string>
@ -278,7 +277,6 @@ konektatzen</string>
<string name="open_qr_code_scanner">Ireki QR eskanerra</string>
<string name="swap_welcome">Ongi etorri F-Droidera!</string>
<string name="swap_confirm_connect">%1$stik aplikazioak jaso nahi dituzu orain?</string>
<string name="swap_tap_to_select_apps">Ukitu partekatu nahi dituzun aplikazioak aukeratzeko.</string>
<string name="swap_dont_show_again">Ez bistaratu hau berriro</string>
<string name="swap_scan_or_type_url">Pertsona batek bestearen kodea eskaneatu behar du, edo URL helbidea nabigatzailean sartu.</string>
<string name="swap_choose_apps">Hautatu aplikazioak</string>

View File

@ -149,7 +149,6 @@ Sinun pitää
<string name="requesting_root_access_body">Pyydetään root-oikeuksia…</string>
<string name="root_access_denied_title">Root-oikeudet kielletty</string>
<string name="root_access_denied_body">Joko Android-laitettasi ei ole rootattu tai olet kieltänyt F-Droidin root-oikeuksiin pääsyn.</string>
<string name="update_all">Päivitä kaikki</string>
<string name="system_install_denied_title">Järjestelmäasetukset kielletty</string>
<string name="system_install_denied_body">Tämä asetus on käytössä vain silloin, kun F-Droid on asennettu järjestelmäsovellukseksi.</string>
<string name="app_description">F-Droid on asennettava FOSS-sovellusten hakemisto (Free and Open Source Software) Androidille. Asiakasohjelma helpottaa selailemista, asentamista ja laitteesi pitämistä päivitettynä.</string>

View File

@ -169,7 +169,6 @@
<string name="requesting_root_access_body">Demande des privilèges root…</string>
<string name="root_access_denied_title">Privilèges root refusés</string>
<string name="root_access_denied_body">Soit votre système Android n\'a pas les privilèges root, soit vous les avez refusés à F-Droid.</string>
<string name="update_all">Tout mettre à jour</string>
<string name="system_install_denied_title">F-Droid - Extension des Privilèges n\'est pas disponible</string>
<string name="system_install_denied_body">Cette option est seulement disponible quand F-Droid - Extension des Privilèges est installée.</string>
<string name="app_description">F-Droid est un catalogue d\'applications libres et open source pour le système Android. Le client permet de facilement naviguer, installer et garder une trace des mises à jour sur votre appareil.</string>
@ -263,7 +262,6 @@
<string name="swap_join_this_hotspot">Aidez votre ami à se connecter à votre point d\'accès</string>
<string name="swap_success">Échange réussi !</string>
<string name="swap_active_hotspot">%1$s (votre point d\'accès)</string>
<string name="swap_tap_to_select_apps">Appuyez pour sélectionner les apps que vous voulez échanger.</string>
<string name="swap_scan_or_type_url">Une personne doit scanner ce code ou saisir le lien dans un navigateur web.</string>
<string name="swap_choose_apps">Sélectionnez des apps</string>
<string name="swap_scan_qr">Scannez le code QR</string>

View File

@ -191,7 +191,6 @@ Publicado con licenza GNU GPLv3.</string>
<string name="category_Time">Tempo</string>
<string name="category_Writing">Escrita</string>
<string name="update_all">Actualizar todo</string>
<string name="install_error_title">Erro de instalación</string>
<string name="uninstall_error_title">Erro de desinstalación</string>
<string name="uninstall_error_unknown">Fallou ao desinstalar por un erro descoñecido</string>
@ -215,7 +214,6 @@ Publicado con licenza GNU GPLv3.</string>
<string name="open_qr_code_scanner">Abrir o lector QR</string>
<string name="swap_welcome">Benvido a F-Droid!</string>
<string name="swap_confirm_connect">Desexas obter aplicativos dende %1$s agora?</string>
<string name="swap_tap_to_select_apps">Toca para escoller os aplicativos que queres intercambiar.</string>
<string name="swap_dont_show_again">Non amosar de novo</string>
<string name="swap_choose_apps">Escolle os aplicativos</string>
<string name="swap_scan_qr">Escanear código QR</string>

View File

@ -194,7 +194,6 @@
<string name="requesting_root_access_body">כעת מבקש גישת שורש…</string>
<string name="root_access_denied_title">גישת שורש נאסרה</string>
<string name="root_access_denied_body">או שמכשיר Android אינו מושרש או שאסרת גישת שורש עבור F-Droid.</string>
<string name="update_all">עדכן הכל</string>
<string name="install_error_title">שגיאת התקנה</string>
<string name="install_error_unknown">נכשל להתקין בשל שגיאה לא מוכרת</string>
<string name="uninstall_error_title">שגיאת ביטול התקנה</string>
@ -230,7 +229,6 @@
<string name="open_qr_code_scanner">פתח סורק QR</string>
<string name="swap_welcome">ברוכים הבאים אל F-Droid!</string>
<string name="swap_confirm_connect">האם ברצונך לקבל אפליקציות מתוך %1$s כעת?</string>
<string name="swap_tap_to_select_apps">הקש כדי לבחור את האפליקציות אשר ברצונך להחליף.</string>
<string name="swap_dont_show_again">אל תציג זאת שוב</string>
<string name="swap_scan_or_type_url">אדם אחד צריך לסרוק את הקוד, או להקליד URL של המחליף האחר לתוך דפדפן.</string>

View File

@ -173,7 +173,6 @@ Prova a collegarti a questa rete: %s</string>
<string name="requesting_root_access_body">Richiedo i permessi root…</string>
<string name="root_access_denied_title">Accesso Root negato</string>
<string name="root_access_denied_body">Il tuo telefono non ha i permessi di root oppure li hai negati ad F-Droid.</string>
<string name="update_all">Aggiorna tutto</string>
<string name="system_install_denied_title">Permessi di sistema negati</string>
<string name="system_install_denied_body">Questa opzione è disponibile solo quando F-Droid è installato come app di sistema.</string>
<string name="app_description">F-Droid è un catalogo installabile di applicazioni FOSS (Free and Open Source Software) per Android. Il client rende semplice cercare, installare e tenere traccia deglii aggiornamenti sul tuo dispositivo.</string>
@ -234,7 +233,6 @@ Prova a collegarti a questa rete: %s</string>
<string name="swap_scanning_for_peers">In cerca di persone nelle vicinanze…</string>
<string name="swap_dont_show_again">Non mostrare più</string>
<string name="swap_switch_to_wifi">Tocca per passare ad una rete Wi-Fi</string>
<string name="swap_tap_to_select_apps">Tocca per selezionare le applicazioni da scambiare.</string>
<string name="swap_choose_apps">Scegli le applicazioni</string>
<string name="swap_scan_qr">Scannerizza il codice QR</string>
<string name="swap_intro">Connettiti e scambia applicazioni con le persone vicine a te.</string>

View File

@ -172,7 +172,6 @@
<string name="requesting_root_access_body">管理者権限の要求中…</string>
<string name="root_access_denied_title">管理者権限での接続が拒絶されました</string>
<string name="root_access_denied_body">この端末はroot化されていないか、F-Droidの管理者権限要求が拒絶されされました。</string>
<string name="update_all">全て更新</string>
<string name="system_install_denied_title">システムアクセス許可が拒絶されました</string>
<string name="system_install_denied_body">この設定は、F-Droidがシステムアプリとしてインストールされているときのみ有効です。</string>
<string name="app_description">F-DroidはAndroidプラットフォーム向けFOSS(フリーのオープンソースソフトウェア) アプリケーションのインストール可能なカタログです。このクライアントで、お使いの端末で簡単に参照、インストール、および更新履歴を記録することができます。</string>
@ -235,7 +234,6 @@
<string name="swap_switch_to_wifi">タップすると、Wi-Fi ネットワークに切り替えます</string>
<string name="app_name">F-Droid</string>
<string name="swap_tap_to_select_apps">タップして交換したいアプリを選択します。</string>
<string name="swap_dont_show_again">今後、このメッセージを表示しない</string>
<string name="swap_scan_or_type_url">一人は、コードを読み取るか、他の URL をブラウザーに入力する必要があります。</string>
<string name="swap_choose_apps">アプリを選択</string>

View File

@ -173,7 +173,6 @@ GNU GPLv3 라이센스 하에 배포됩니다.</string>
<string name="requesting_root_access_body">루트 권한 요청하는 중…</string>
<string name="root_access_denied_title">루트 권한 거부됨</string>
<string name="root_access_denied_body">기기가 루팅되지 않았거나 F-Droid의 루트 권한 요청을 거부한 경우입니다.</string>
<string name="update_all">모두 업데이트</string>
<string name="system_install_denied_title">시스템 권한 거부됨</string>
<string name="system_install_denied_body">이 옵션은 F-Droid가 시스템 앱으로 설치된 경우에만 사용 가능합니다.</string>
<string name="app_description">F-Droid는 안드로이드 플랫폼을 위한 \'오픈 소스 및 자유 소프트웨어(FOSS)\' 앱들의 설치 목록입니다. F-Droid는 기기에서 앱들을 쉽게 검색, 설치, 업데이트를 할 수 있게 해줍니다.</string>

View File

@ -171,7 +171,6 @@ Lisensiert GNU GPLv3.</string>
<string name="requesting_root_access_body">Etterspør root-tilgang…</string>
<string name="root_access_denied_title">Root-tilgang nektet</string>
<string name="root_access_denied_body">Enten mangler din Android-enhet superbrukertilgang, eller så har du nektet F-droid root-tilgang.</string>
<string name="update_all">Oppdater alt</string>
<string name="system_install_denied_title">F-Droid priviligert tillegg er ikke tilgjengelig</string>
<string name="system_install_denied_body">Dette valget er bare tilgjengelig når F-Droid er installert som priviligert tillegg.</string>
<string name="app_description">F-droid er en ansamling fri programvare som kan installeres på Android-plattformen. Klienten gjør det enkelt å sjekke ut og installere, samt holde øye med oppdateringer på din enhet.</string>
@ -233,7 +232,6 @@ Lisensiert GNU GPLv3.</string>
<string name="system_uninstall_button">Avinstaller</string>
<string name="swap_switch_to_wifi">Trykk for å bytte Wi-Fi-nettverk</string>
<string name="swap_tap_to_select_apps">Trykk for å velge hvilke programmer du ønsker å bytte.</string>
<string name="swap_dont_show_again">Ikke vis dette igjen</string>
<string name="swap_scan_or_type_url">Én person trenger å skanne koden, eller man skriver motpartens adresseopplysninger en nettleser.</string>
<string name="swap_choose_apps">Velg programmer</string>

View File

@ -171,7 +171,6 @@
<string name="requesting_root_access_body">Root toegang aanvragen…</string>
<string name="root_access_denied_title">Root toegang geweigerd</string>
<string name="root_access_denied_body">Uw Android apparaat is niet geroot, of u heeft F-Droid geen root toegang gegeven.</string>
<string name="update_all">Update alles</string>
<string name="system_install_denied_title">Systeemrechten geweigerd</string>
<string name="system_install_denied_body">Deze optie is alleen beschikbaar als F-Droid als systeemapp geïnstalleerd is.</string>
<string name="app_description">F-Droid is een installeerbare cataloges van FOSS (Vrije en Open Source Software) apps voor Android. Het programma maakt het gemakkelijk om door apps te bladeren, te installeren en up-to-date te houden.</string>
@ -220,7 +219,6 @@
<string name="swap_success">Swap succesvol!</string>
<string name="swap_active_hotspot">%1$s (jouw hotspot)</string>
<string name="swap_switch_to_wifi">Raak aan om naar een Wi-Fi netwerk over te schakelen</string>
<string name="swap_tap_to_select_apps">Raak de apps aan die je wilt swappen.</string>
<string name="swap_dont_show_again">Toon dit niet opnieuw</string>
<string name="app_name">F-Droid</string>

View File

@ -131,7 +131,6 @@ Uwaga: Wszystkie poprzednio zainstalowane aplikacje zostaną na urządzeniu.</st
<string name="requesting_root_access_body">Żądanie uprawnień roota…</string>
<string name="root_access_denied_title">Odmówiono uprawnień roota</string>
<string name="root_access_denied_body">Urządzenie nie zostało zrootowane lub odmówiono uprawnień roota F-Droidowi.</string>
<string name="update_all">Uaktualnij wszystko</string>
<string name="system_install_denied_title">Odmówiono uprawnień systemowych</string>
<string name="system_install_denied_body">Opcja dostępna tylko wtedy, gdy F-Droid został zainstalowany jako aplikacja systemowa.</string>
<string name="app_description">F-Droid jest katalogiem aplikacji FOSS (Wolne i Otwarte Oprogramowanie) dla platformy Android. Klient umożliwia łatwe przeglądanie, instalowanie i zarządzanie aktualizacjami na Twoim urządzeniu.</string>
@ -244,7 +243,6 @@ Uwaga: Wszystkie poprzednio zainstalowane aplikacje zostaną na urządzeniu.</st
<string name="category_Time">Czas</string>
<string name="category_Writing">Edycja tekstu</string>
<string name="swap_tap_to_select_apps">Dotknij by wybrać aplikacje, które chcesz przesłać.</string>
<string name="swap_dont_show_again">Nie pokazuj więcej tego okna</string>
<string name="swap_scan_or_type_url">Jedno z urządzeń musi mieć zeskanowany kod lub wpisany do przeglądarki adres URL drugiego urządzenia.</string>
<string name="swap_choose_apps">Wybierz aplikacje</string>

View File

@ -172,7 +172,6 @@ com aplicativos baixados a partir de índices não assinados.</string>
<string name="requesting_root_access_body">Solicitando acesso root…</string>
<string name="root_access_denied_title">Acesso root negado</string>
<string name="root_access_denied_body">Ou o seu dispositivo Android não está \"rooteado\" ou você recusou o acesso root para o F-Droid.</string>
<string name="update_all">Atualizar tudo</string>
<string name="system_install_denied_title">A extensão privilegiada do F-droid não está disponível</string>
<string name="system_install_denied_body">Esta opção só está disponível quando a extensão privilegiada do F-Droid está instalada.</string>
<string name="app_description">F-Droid é um catálogo instalável de aplicativos FOSS (Software Livre e de Código Aberto) para a plataforma Android. O cliente faz com que seja fácil navegar, instalar e manter o controle das atualizações no seu dispositivo.</string>
@ -244,7 +243,6 @@ com aplicativos baixados a partir de índices não assinados.</string>
<string name="category_Time">Tempo</string>
<string name="category_Writing">Escrita</string>
<string name="swap_tap_to_select_apps">Toque para selecionar os aplicativos que você quer permutar.</string>
<string name="swap_dont_show_again">Não mostrar isto novamente</string>
<string name="swap_scan_or_type_url">Uma pessoa precisa escanear o código ou digitar a URL de outro em um navegador.</string>
<string name="swap_choose_apps">Escolher os aplicativos</string>

View File

@ -232,7 +232,6 @@
<string name="requesting_root_access_body">A solicitar acesso \'root\'…</string>
<string name="root_access_denied_title">Acesso \'root\' recusado</string>
<string name="root_access_denied_body">O dispositivo Android não está \'rooted\' ou você recusou o acesso \'root\' solicitado pelo F-Droid.</string>
<string name="update_all">Atualizar tudo</string>
<string name="install_error_title">Erro de instalação</string>
<string name="install_error_unknown">Falha de instalação devido a um erro desconhecido</string>
<string name="install_error_cannot_parse">Ocorreu um erro ao processar o pacote</string>
@ -304,7 +303,6 @@
<string name="theme_light">Claro</string>
<string name="theme_dark">Escuro</string>
<string name="swap_confirm_connect">Deseja obter agora as aplicações de %1$s?</string>
<string name="swap_tap_to_select_apps">Toque para escolher as aplicações a trocar.</string>
<string name="swap_scan_or_type_url">Uma pessoa tem que digitalizar o código ou digitar o URL da outra no navegador web.</string>
<string name="swap_scan_qr">Digitalizar código QR</string>
<string name="swap_people_nearby">Vizinhança</string>

View File

@ -169,7 +169,6 @@
<string name="requesting_root_access_body">Запрос root доступа…</string>
<string name="root_access_denied_title">Отказано в root доступе</string>
<string name="root_access_denied_body">Либо у вашего устройства нет root доступа, либо вы отклонили запрос от F-Droid.</string>
<string name="update_all">Обновить всё</string>
<string name="system_install_denied_title">Запрос на системные привилегии отклонён</string>
<string name="system_install_denied_body">Данная опция доступна только если F-Droid установлен как системное приложение.</string>
<string name="app_description">F-Droid — каталог FOSS (свободного и открытого программного обеспечения) для платформы Android. Клиент позволяет с лёгкостью просматривать, устанавливать и обновлять приложение на вашем устройстве.</string>

View File

@ -173,7 +173,6 @@ Intregadu cun sa litzèntzia
<string name="requesting_root_access_body">Pedinde s\'atzessu root…</string>
<string name="root_access_denied_title">Atzessu root dennegadu</string>
<string name="root_access_denied_body">Su dispositivu tuo non tenet sos permissos de root o non los as datu a F-droid.</string>
<string name="update_all">Agiorna totu</string>
<string name="system_install_denied_title">Permissos de sistema dennegados</string>
<string name="system_install_denied_body">Custa optzione est disponìbile petzi cando F-Droid est installadu comente aplicatzione de sistema.</string>
<string name="app_description">F-Droid est unu catàlogu installàbile de FOSS (Free and Open Source Software - Aplicatziones lìberas e a mitza aberta) pro Android. S\'aplicatzione-client permitit de chircare, installare, e compidare sos agiornamentos in su dispositivu tuo.</string>
@ -249,7 +248,6 @@ Intregadu cun sa litzèntzia
<string name="swap_success">Cumpartzidura resissida!</string>
<string name="swap_active_hotspot">%1$s (puntu de atzessu tuo)</string>
<string name="swap_switch_to_wifi">Toca pro colare a una retza Wi-Fi</string>
<string name="swap_tap_to_select_apps">Toca pro ischertare sas aplicatziones chi cheres cumpartzire.</string>
<string name="swap_dont_show_again">Non mi lammustrare prus</string>
<string name="swap_scan_or_type_url">Una pessone tenet de iscarrigare su còdighe, o iscrìere sURL de s\'àtera in unu navigadore.</string>
<string name="swap_choose_apps">Issèbera aplicatziones</string>

View File

@ -170,7 +170,6 @@ Vydaný pod licenciou
<string name="requesting_root_access_body">Žiadame root prístup…</string>
<string name="root_access_denied_title">Root prístup zamietnutý</string>
<string name="root_access_denied_body">Buď vaše zariadenie s Androidom nemá urobený root alebo ste odmietli root prístup pre F-Droid.</string>
<string name="update_all">Aktualizovať všetko</string>
<string name="system_install_denied_title">Systémové povolenia zamietnuté</string>
<string name="system_install_denied_body">Táto možnosť je dostupná iba ak je F-Droid inštalovaný ako systémová aplikácia.</string>
<string name="app_description">F-Droid je inštalovateľný katalóg FOSS (Free a Open Source Software) aplikácií pre platformu Android. Klient umožňuje ľahko prechádzať, inštalovať, a sledovať aktualizácie na vašom zariadení.</string>

View File

@ -170,7 +170,6 @@
<string name="requesting_root_access_body">Захтевам корени приступ…</string>
<string name="root_access_denied_title">Корени приступ одбијен</string>
<string name="root_access_denied_body">Или ваш Андроид уређај није рутован или сте Ф-дроиду одбили корени приступ.</string>
<string name="update_all">Надогради све</string>
<string name="system_install_denied_title">Повлашћено проширење за Ф-дроид није доступно</string>
<string name="system_install_denied_body">Ова опција доступна само када је инсталирано повлашћено проширење за Ф-дроид.</string>
<string name="app_description">Ф-дроид је каталог ФОСС (слободан и софтвер отвореног кôда) апликација за Андроид платформу. Клијент олакшава претрагу, инсталацију и праћење надоградњи на вашем уређају.</string>
@ -279,7 +278,6 @@
<string name="swap_visible_wifi">Видљив преко бежичног</string>
<string name="swap_not_visible_wifi">Нисам видљив преко бежичног</string>
<string name="swap_scan_or_type_url">Једна особа мора да очита кôд, или да укуца УРЛ друге особе у прегледачу.</string>
<string name="swap_tap_to_select_apps">Тапните за одабир апликација за размену.</string>
<string name="swap_switch_to_wifi">Тапните за пребацивање на бежичну мрежу</string>
<string name="system_install_warning_lollipop">Ово траје десетак секунди и ваш уређај ће након тога <b>поново да се покрене</b>.</string>
<string name="empty_can_update_app_list">Све апликације су ажурне.\n\nЧеститке! Све ваше апликације су ажурне (или ваше ризнице нису ажуриране).</string>

View File

@ -170,7 +170,6 @@
<string name="requesting_root_access_body">Efterfrågar root-åtkomst…</string>
<string name="root_access_denied_title">Root-åtkomst nekad</string>
<string name="root_access_denied_body">Antingen är din Android-enhet inte rootad eller så har du nekat root-åtkomst för F-Droid.</string>
<string name="update_all">Uppdatera alla</string>
<string name="system_install_denied_title">Systembehörigheter nekade</string>
<string name="system_install_denied_body">Detta val är endast tillgängligt när F-Droid installerats som en system-app.</string>
<string name="app_description">F-Droid är en installerbar katalog av fri och öppen källkodsprogramvara (FOSS) för Android-plattformen. Klienten gör det enkelt att bläddra bland, installera och hålla koll på uppdateringar på din enhet.</string>

View File

@ -185,7 +185,6 @@ Ondan uygulama indirmek için bu depoyu tekrar etkinleştirmeniz gerekecektir.</
<string name="requesting_root_access_body">Root erişimi isteniyor…</string>
<string name="root_access_denied_title">Root erişimi engellendi</string>
<string name="root_access_denied_body">Ya Android cihazınız rootlu değil ya da F-Droid için root erişimini engellediniz.</string>
<string name="update_all">Tümünü güncelle</string>
<string name="system_install_denied_title">Sistem izinleri reddedildi</string>
<string name="system_install_denied_body">Bu seçenek sadece F-Droid bir sistem uygulaması olarak kurulduğunda mevcuttur.</string>
<string name="app_description">F-Droid, Android platformu için kurulabilir Özgür ve Açık Kaynaklı Yazılım kataloğudur. İstemci cihazınızda uygulama taramayı, kurmayı ve güncellemeyi kolaylaştırır.</string>

View File

@ -177,7 +177,6 @@
<string name="category_Sports_Health">Спорт та здоров\'я</string>
<string name="category_System">Система</string>
<string name="category_Time">Час</string>
<string name="update_all">Оновити всі</string>
<string name="install_error_title">Помилка встановлення</string>
<string name="install_error_cannot_parse">Трапилася помилка під час обробки пакунку</string>
<string name="uninstall_error_title">Помилка видалення</string>
@ -282,7 +281,6 @@
<string name="swap">Обмін додатками</string>
<string name="swap_success">Обмін пройшов удало!</string>
<string name="swap_switch_to_wifi">Торкніться для перемикання Wi-Fi мережі</string>
<string name="swap_tap_to_select_apps">Торкніться для вибору додатків на обмін.</string>
<string name="swap_intro">Підключайтеся та обмінюйтесь додатками з людьми навколо вас.</string>
<string name="swap_visible_wifi">Видимий через Wi-Fi</string>
<string name="swap_setting_up_wifi">Налаштування Wi-Fi…</string>

View File

@ -156,7 +156,6 @@
<string name="requesting_root_access_body">Đang yêu cầu quyền root…</string>
<string name="root_access_denied_title">Bị từ chối quyền root</string>
<string name="root_access_denied_body">Thiết bị của bạn chưa được root hoặc bạn đã từ chối quyền root của F-Droid.</string>
<string name="update_all">Cập nhật tất cả</string>
<string name="system_install_denied_title">Bị từ chối quyền hệ thống</string>
<string name="system_install_denied_body">Chỉ có tuỳ chọn này khi F-Droid được cài làm ứng dụng hệ thống.</string>
<string name="app_description">F-Droid là một kho ứng dụng FOSS (tự do và mã nguồn mở) cài đặt được trên nền tảng Android. Ứng dụng F-Droid giúp bạn tìm kiếm, cài đặt và theo dõi cập nhật dễ dàng hơn.</string>
@ -244,7 +243,6 @@
<string name="swap_success">Đã trao đổi thành công!</string>
<string name="swap_active_hotspot">%1$s (điểm truy cập của bạn)</string>
<string name="swap_switch_to_wifi">Chạm để chuyển sang mạng Wi-Fi</string>
<string name="swap_tap_to_select_apps">Chạm để chọn ứng dụng bạn muốn trao đổi.</string>
<string name="swap_dont_show_again">Không hiện lại</string>
<string name="swap_scan_or_type_url">Một người phải quét mã, hoặc nhập URL của người kia vào trình duyệt.</string>
<string name="swap_choose_apps">Chọn ứng dụng</string>

View File

@ -160,6 +160,5 @@
<string name="category_System">系统</string>
<string name="requesting_root_access_body">正在请求root权限…</string>
<string name="root_access_denied_title">root权限取得失败</string>
<string name="update_all">更新全部</string>
<string name="swap_welcome">欢迎来到F-Droid</string>
</resources>

View File

@ -140,7 +140,6 @@
<string name="category_System">系統</string>
<string name="requesting_root_access_body">要求 root 權限中…</string>
<string name="root_access_denied_title">Root 權限被拒絕</string>
<string name="update_all">更新所有應用程式</string>
<string name="system_install_denied_title">系統權限被拒絕</string>
<string name="app_description">F-Droid 是一個為 Android 而設可供安裝的自由開源應用程式目錄。F-Droid 讓您更容易瀏覽、安裝和管理在您裝置上的應用程式更新。</string>
<string name="menu_swap">交換應用程式</string>

View File

@ -257,7 +257,6 @@
<string name="requesting_root_access_body">Requesting root access…</string>
<string name="root_access_denied_title">Root access denied</string>
<string name="root_access_denied_body">Either your Android device is not rooted or you have denied root access for F-Droid.</string>
<string name="update_all">Update all</string>
<string name="install_error_title">Install error</string>
<string name="install_error_unknown">Failed to install due to an unknown error</string>
<string name="install_error_cannot_parse">An error occurred while parsing the package</string>
@ -302,7 +301,6 @@
<string name="open_qr_code_scanner">Open QR Scanner</string>
<string name="swap_welcome">Welcome to F-Droid!</string>
<string name="swap_confirm_connect">Do you want to get apps from %1$s now?</string>
<string name="swap_tap_to_select_apps">Tap to select the apps you want to swap.</string>
<string name="swap_dont_show_again">Don\'t show this again</string>
<string name="swap_scan_or_type_url">One person needs to scan the code, or type the URL of the other in a browser.</string>
<string name="swap_choose_apps">Choose Apps</string>

View File

@ -61,6 +61,22 @@
<style name="RepoDetailsBody" />
<style name="AppList">
<item name="android:id">@android:id/list</item>
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">match_parent</item>
<item name="android:fastScrollEnabled">true</item>
</style>
<style name="AppListEmptyText">
<item name="android:id">@android:id/empty</item>
<item name="android:gravity">center</item>
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">match_parent</item>
<item name="android:padding">20dp</item>
<item name="android:textSize">20sp</item>
</style>
<style name="SwapTheme.Wizard" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorButtonNormal">@color/swap_bright_blue</item>
<item name="android:actionBarStyle">@style/Widget.AppCompat.ActionBar.Solid</item>

View File

@ -6,25 +6,22 @@ import android.content.SharedPreferences;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.ListFragment;
import android.support.v4.app.LoaderManager;
import android.support.v4.content.CursorLoader;
import android.support.v4.content.Loader;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.TextView;
import org.fdroid.fdroid.AppDetails;
import org.fdroid.fdroid.Preferences;
import org.fdroid.fdroid.R;
import org.fdroid.fdroid.UpdateService;
import org.fdroid.fdroid.Utils;
import org.fdroid.fdroid.data.App;
import org.fdroid.fdroid.data.AppProvider;
import org.fdroid.fdroid.views.AppListAdapter;
public abstract class AppListFragment extends ThemeableListFragment implements
public abstract class AppListFragment extends ListFragment implements
AdapterView.OnItemClickListener,
Preferences.ChangeListener,
LoaderManager.LoaderCallbacks<Cursor> {
@ -61,17 +58,6 @@ public abstract class AppListFragment extends ThemeableListFragment implements
protected abstract Uri getDataUri();
/**
* Depending on the subclass, a different message may be desired. For example, in the main list
* of apps, might want to say "No apps for this category, how about you try...", while the
* "Update" tab may wish to say "Congratulations, all your apps are up to date."
*
* In the future, this may want to return a view instead of a string. That would allow nice
* visual graphics helping to show the message.
*/
@Nullable
protected abstract String getEmptyMessage();
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
@ -79,16 +65,7 @@ public abstract class AppListFragment extends ThemeableListFragment implements
// Can't do this in the onCreate view, because "onCreateView" which
// returns the list view is "called between onCreate and
// onActivityCreated" according to the docs.
getListView().setFastScrollEnabled(true);
getListView().setOnItemClickListener(this);
String emptyMessage = getEmptyMessage();
if (emptyMessage != null) {
View emptyView = getLayoutInflater(savedInstanceState).inflate(R.layout.empty_app_list, null);
((TextView) emptyView.findViewById(R.id.text)).setText(emptyMessage);
((ViewGroup) getListView().getParent()).addView(emptyView); // Needs to be added to this parent or it doesn't show.
getListView().setEmptyView(emptyView);
}
}
@Override

View File

@ -14,7 +14,6 @@ import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Spinner;
import org.fdroid.fdroid.Preferences;
@ -62,11 +61,6 @@ public class AvailableAppsFragment extends AppListFragment implements
return adapter;
}
@Override
protected String getEmptyMessage() {
return getActivity().getString(R.string.empty_available_app_list);
}
private class CategoryObserver extends ContentObserver {
private final ArrayAdapter<String> adapter;
@ -154,9 +148,6 @@ public class AvailableAppsFragment extends AppListFragment implements
View view = inflater.inflate(R.layout.available_app_list, container, false);
setupCategorySpinner((Spinner) view.findViewById(R.id.category_spinner));
((ListView) view.findViewById(android.R.id.list)).setOnItemClickListener(this);
defaultCategory = AppProvider.Helper.getCategoryWhatsNew(getActivity());
return view;

View File

@ -1,38 +1,18 @@
package org.fdroid.fdroid.views.fragments;
import android.content.Context;
import android.net.Uri;
import android.os.Bundle;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.FrameLayout;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.ProgressBar;
import android.widget.TextView;
import org.fdroid.fdroid.R;
import org.fdroid.fdroid.data.AppProvider;
import org.fdroid.fdroid.installer.Installer;
import org.fdroid.fdroid.views.AppListAdapter;
import org.fdroid.fdroid.views.CanUpdateAppListAdapter;
public class CanUpdateAppsFragment extends AppListFragment {
// copied from ListFragment
static final int INTERNAL_EMPTY_ID = 0x00ff0001;
static final int INTERNAL_PROGRESS_CONTAINER_ID = 0x00ff0002;
static final int INTERNAL_LIST_CONTAINER_ID = 0x00ff0003;
// added for update button
static final int UPDATE_ALL_BUTTON_ID = 0x00ff0004;
private Button mUpdateAllButton;
private Installer mInstaller;
@Override
protected AppListAdapter getAppListAdapter() {
return new CanUpdateAppListAdapter(getActivity(), null);
@ -43,120 +23,14 @@ public class CanUpdateAppsFragment extends AppListFragment {
return getString(R.string.tab_updates);
}
@Override
protected String getEmptyMessage() {
return getActivity().getString(R.string.empty_can_update_app_list);
}
@Override
protected Uri getDataUri() {
return AppProvider.getCanUpdateUri();
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mInstaller = Installer.getActivityInstaller(getActivity(), getActivity().getPackageManager(), null);
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
mUpdateAllButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO
}
});
}
// TODO: not really called again after coming back from preference
@Override
public void onResume() {
super.onResume();
if (mInstaller.supportsUnattendedOperations()) {
// mUpdateAllButton.setVisibility(View.VISIBLE);
mUpdateAllButton.setVisibility(View.GONE);
} else {
mUpdateAllButton.setVisibility(View.GONE);
}
}
/**
* Copied from ListFragment and added Button on top of list. We do not use a
* custom layout here, because this breaks the progress bar functionality of
* ListFragment.
*/
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
final Context context = getActivity();
FrameLayout root = new FrameLayout(context);
// ------------------------------------------------------------------
LinearLayout pframe = new LinearLayout(context);
pframe.setId(INTERNAL_PROGRESS_CONTAINER_ID);
pframe.setOrientation(LinearLayout.VERTICAL);
pframe.setVisibility(View.GONE);
pframe.setGravity(Gravity.CENTER);
ProgressBar progress = new ProgressBar(context, null,
android.R.attr.progressBarStyleLarge);
pframe.addView(progress, new FrameLayout.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
root.addView(pframe, new FrameLayout.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
// ------------------------------------------------------------------
FrameLayout lframe = new FrameLayout(context);
lframe.setId(INTERNAL_LIST_CONTAINER_ID);
TextView tv = new TextView(getActivity());
tv.setId(INTERNAL_EMPTY_ID);
tv.setGravity(Gravity.CENTER);
lframe.addView(tv, new FrameLayout.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
// Added update all button
LinearLayout linearLayout = new LinearLayout(context);
linearLayout.setOrientation(LinearLayout.VERTICAL);
mUpdateAllButton = new Button(context);
mUpdateAllButton.setId(UPDATE_ALL_BUTTON_ID);
mUpdateAllButton.setText(R.string.update_all);
mUpdateAllButton.setCompoundDrawablesWithIntrinsicBounds(
getResources().getDrawable(R.drawable.ic_refresh_white), null, null, null);
mUpdateAllButton.setVisibility(View.GONE);
linearLayout.addView(mUpdateAllButton, new FrameLayout.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
ListView lv = new ListView(getActivity());
lv.setId(android.R.id.list);
lv.setDrawSelectorOnTop(false);
linearLayout.addView(lv, new FrameLayout.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
lframe.addView(linearLayout, new FrameLayout.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
root.addView(lframe, new FrameLayout.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
// ------------------------------------------------------------------
root.setLayoutParams(new FrameLayout.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
return root;
return inflater.inflate(R.layout.can_update_app_list, container, false);
}
}

View File

@ -1,6 +1,10 @@
package org.fdroid.fdroid.views.fragments;
import android.net.Uri;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import org.fdroid.fdroid.R;
import org.fdroid.fdroid.data.AppProvider;
@ -14,11 +18,6 @@ public class InstalledAppsFragment extends AppListFragment {
return new InstalledAppListAdapter(getActivity(), null);
}
@Override
protected String getEmptyMessage() {
return getActivity().getString(R.string.empty_installed_app_list);
}
@Override
protected String getFromTitle() {
return getString(R.string.tab_installed_apps);
@ -29,4 +28,9 @@ public class InstalledAppsFragment extends AppListFragment {
return AppProvider.getInstalledUri();
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.installed_app_list, container, false);
}
}

View File

@ -1,73 +0,0 @@
package org.fdroid.fdroid.views.fragments;
import android.content.Context;
import android.os.Bundle;
import android.support.v4.app.ListFragment;
import android.view.ContextThemeWrapper;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListView;
import org.fdroid.fdroid.R;
public abstract class ThemeableListFragment extends ListFragment {
protected int getThemeStyle() {
return 0;
}
protected int getHeaderLayout() {
return 0;
}
protected View getHeaderView() {
return headerView;
}
private View headerView;
private View getHeaderView(LayoutInflater inflater, ViewGroup container) {
if (getHeaderLayout() == 0) {
return null;
}
if (headerView == null) {
headerView = inflater.inflate(getHeaderLayout(), null, false);
}
return headerView;
}
private LayoutInflater getThemedInflater(Context context) {
Context c = (getThemeStyle() == 0) ? context : new ContextThemeWrapper(context, getThemeStyle());
return (LayoutInflater) c.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
/**
* Normally we'd just let the baseclass ListFrament.onCreateView() from the support library do its magic.
* However, it doesn't allow us to theme it. That is, it always passes getActivity() into the constructor
* of widgets. We are more interested in a ContextThemeWrapper, so that the widgets get appropriately
* themed. In order to get it working, we need to work around android bug 21742 as well
* (https://code.google.com/p/android/issues/detail?id=21742).
*/
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
LayoutInflater themedInflater = getThemedInflater(inflater.getContext());
View view = themedInflater.inflate(R.layout.list_content, container, false);
View headerView = getHeaderView(themedInflater, container);
if (headerView != null) {
ListView listView = (ListView) view.findViewById(android.R.id.list);
listView.addHeaderView(headerView);
}
// Workaround for https://code.google.com/p/android/issues/detail?id=21742
view.findViewById(android.R.id.empty).setId(0x00ff0001);
view.findViewById(R.id.progressContainer).setId(0x00ff0002);
view.findViewById(android.R.id.progress).setId(0x00ff0003);
return view;
}
}