Merge branch 'streamline-whitelabeling' into 'master'

Streamline whitelabeling

See merge request fdroid/fdroidclient!686
This commit is contained in:
Hans-Christoph Steiner 2018-06-06 19:10:40 +00:00
commit 6f7fdec4eb
16 changed files with 172 additions and 108 deletions

View File

@ -12,51 +12,6 @@ def getVersionName = { ->
return stdout.toString().trim() return stdout.toString().trim()
} }
dependencies {
implementation 'com.android.support:support-v4:27.1.1'
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support:gridlayout-v7:27.1.1'
implementation 'com.android.support:support-annotations:27.1.1'
implementation 'com.android.support:recyclerview-v7:27.1.1'
implementation 'com.android.support:cardview-v7:27.1.1'
implementation 'com.android.support:design:27.1.1'
implementation 'com.android.support:support-vector-drawable:27.1.1'
implementation 'com.android.support.constraint:constraint-layout:1.1.0'
implementation 'com.android.support:palette-v7:27.1.1'
implementation 'com.android.support:preference-v14:27.1.1'
implementation 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'
implementation 'com.google.zxing:core:3.3.2'
implementation 'eu.chainfire:libsuperuser:1.0.0.201602271131'
implementation 'cc.mvdan.accesspoint:library:0.2.0'
implementation 'info.guardianproject.netcipher:netcipher:2.0.0-alpha1'
implementation 'info.guardianproject.panic:panic:0.5'
implementation 'commons-io:commons-io:2.5'
implementation 'commons-net:commons-net:3.5'
implementation 'org.jmdns:jmdns:3.5.3'
implementation 'org.nanohttpd:nanohttpd:2.3.1'
implementation 'ch.acra:acra:4.9.1'
implementation 'io.reactivex:rxjava:1.1.0'
implementation 'io.reactivex:rxandroid:0.23.0'
implementation 'com.hannesdorfmann:adapterdelegates3:3.0.1'
implementation 'com.ashokvarma.android:bottom-navigation-bar:2.0.4'
implementation 'com.fasterxml.jackson.core:jackson-core:2.8.7'
implementation 'com.fasterxml.jackson.core:jackson-annotations:2.8.7'
implementation 'com.fasterxml.jackson.core:jackson-databind:2.8.7'
implementation 'org.bouncycastle:bcpkix-jdk15on:1.59'
implementation 'org.bouncycastle:bcprov-jdk15on:1.59'
testImplementation 'org.robolectric:robolectric:3.8'
testImplementation 'junit:junit:4.12'
testImplementation 'org.mockito:mockito-core:2.7.22'
androidTestImplementation 'com.android.support:support-annotations:25.3.1'
androidTestImplementation 'com.android.support.test:runner:0.5'
androidTestImplementation 'com.android.support.test:rules:0.5'
}
def isCi = "true".equals(System.getenv("CI")) def isCi = "true".equals(System.getenv("CI"))
def preDexEnabled = "true".equals(System.getProperty("pre-dex", "true")) def preDexEnabled = "true".equals(System.getProperty("pre-dex", "true"))
@ -179,6 +134,51 @@ android {
} }
} }
dependencies {
implementation 'com.android.support:support-v4:27.1.1'
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support:gridlayout-v7:27.1.1'
implementation 'com.android.support:support-annotations:27.1.1'
implementation 'com.android.support:recyclerview-v7:27.1.1'
implementation 'com.android.support:cardview-v7:27.1.1'
implementation 'com.android.support:design:27.1.1'
implementation 'com.android.support:support-vector-drawable:27.1.1'
implementation 'com.android.support.constraint:constraint-layout:1.1.0'
implementation 'com.android.support:palette-v7:27.1.1'
implementation 'com.android.support:preference-v14:27.1.1'
implementation 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'
implementation 'com.google.zxing:core:3.3.2'
implementation 'eu.chainfire:libsuperuser:1.0.0.201602271131'
implementation 'cc.mvdan.accesspoint:library:0.2.0'
implementation 'info.guardianproject.netcipher:netcipher:2.0.0-alpha1'
implementation 'info.guardianproject.panic:panic:0.5'
implementation 'commons-io:commons-io:2.5'
implementation 'commons-net:commons-net:3.5'
implementation 'org.jmdns:jmdns:3.5.3'
implementation 'org.nanohttpd:nanohttpd:2.3.1'
implementation 'ch.acra:acra:4.9.1'
implementation 'io.reactivex:rxjava:1.1.0'
implementation 'io.reactivex:rxandroid:0.23.0'
implementation 'com.hannesdorfmann:adapterdelegates3:3.0.1'
implementation 'com.ashokvarma.android:bottom-navigation-bar:2.0.4'
implementation 'com.fasterxml.jackson.core:jackson-core:2.8.7'
implementation 'com.fasterxml.jackson.core:jackson-annotations:2.8.7'
implementation 'com.fasterxml.jackson.core:jackson-databind:2.8.7'
implementation 'org.bouncycastle:bcpkix-jdk15on:1.59'
implementation 'org.bouncycastle:bcprov-jdk15on:1.59'
testImplementation 'org.robolectric:robolectric:3.8'
testImplementation 'junit:junit:4.12'
testImplementation 'org.mockito:mockito-core:2.7.22'
androidTestImplementation 'com.android.support:support-annotations:25.3.1'
androidTestImplementation 'com.android.support.test:runner:0.5'
androidTestImplementation 'com.android.support.test:rules:0.5'
}
checkstyle { checkstyle {
toolVersion = '7.2' toolVersion = '7.2'
} }

View File

@ -59,7 +59,6 @@ import java.io.FileOutputStream;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.io.OutputStream; import java.io.OutputStream;
import java.math.BigInteger;
import java.nio.charset.Charset; import java.nio.charset.Charset;
import java.security.MessageDigest; import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException; import java.security.NoSuchAlgorithmException;
@ -528,12 +527,20 @@ public final class Utils {
* *
* @param bytes an array of bytes. * @param bytes an array of bytes.
* @return the bytes represented as a string of hexadecimal digits. * @return the bytes represented as a string of hexadecimal digits.
* @see <a href="https://stackoverflow.com/a/9855338">source</a>
*/ */
private static String toHexString(byte[] bytes) { public static String toHexString(byte[] bytes) {
BigInteger bi = new BigInteger(1, bytes); char[] hexChars = new char[bytes.length * 2];
return String.format("%0" + (bytes.length << 1) + "X", bi); for (int j = 0; j < bytes.length; j++) {
int v = bytes[j] & 0xFF;
hexChars[j * 2] = HEX_LOOKUP_ARRAY[v >>> 4];
hexChars[j * 2 + 1] = HEX_LOOKUP_ARRAY[v & 0x0F];
}
return new String(hexChars);
} }
private static final char[] HEX_LOOKUP_ARRAY = "0123456789ABCDEF".toCharArray();
public static int parseInt(String str, int fallback) { public static int parseInt(String str, int fallback) {
if (str == null || str.length() == 0) { if (str == null || str.length() == 0) {
return fallback; return fallback;

View File

@ -26,7 +26,6 @@ import android.content.pm.PackageManager;
import android.content.pm.Signature; import android.content.pm.Signature;
import org.acra.ACRA; import org.acra.ACRA;
import org.fdroid.fdroid.Utils; import org.fdroid.fdroid.Utils;
import org.bouncycastle.util.encoders.Hex;
import java.io.ByteArrayOutputStream; import java.io.ByteArrayOutputStream;
import java.io.File; import java.io.File;
@ -69,8 +68,8 @@ class ApkSignatureVerifier {
} }
Utils.debugLog(TAG, "Signature mismatch!"); Utils.debugLog(TAG, "Signature mismatch!");
Utils.debugLog(TAG, "APK sig: " + Hex.toHexString(getApkSignature(apkFile))); Utils.debugLog(TAG, "APK sig: " + Utils.toHexString(getApkSignature(apkFile)));
Utils.debugLog(TAG, "F-Droid sig: " + Hex.toHexString(getFDroidSignature())); Utils.debugLog(TAG, "F-Droid sig: " + Utils.toHexString(getFDroidSignature()));
return false; return false;
} }

View File

@ -4,12 +4,12 @@ import android.annotation.TargetApi;
import android.net.Uri; import android.net.Uri;
import android.os.Build; import android.os.Build;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Base64;
import info.guardianproject.netcipher.NetCipher; import info.guardianproject.netcipher.NetCipher;
import org.apache.commons.io.FileUtils; import org.apache.commons.io.FileUtils;
import org.fdroid.fdroid.BuildConfig; import org.fdroid.fdroid.BuildConfig;
import org.fdroid.fdroid.FDroidApp; import org.fdroid.fdroid.FDroidApp;
import org.fdroid.fdroid.Utils; import org.fdroid.fdroid.Utils;
import org.bouncycastle.util.encoders.Base64;
import java.io.BufferedInputStream; import java.io.BufferedInputStream;
import java.io.File; import java.io.File;
@ -151,7 +151,8 @@ public class HttpDownloader extends Downloader {
if (username != null && password != null) { if (username != null && password != null) {
// add authorization header from username / password if set // add authorization header from username / password if set
String authString = username + ":" + password; String authString = username + ":" + password;
connection.setRequestProperty("Authorization", "Basic " + Base64.toBase64String(authString.getBytes())); connection.setRequestProperty("Authorization", "Basic "
+ Base64.encodeToString(authString.getBytes(), Base64.NO_WRAP));
} }
return connection; return connection;
} }

View File

@ -1,3 +1,28 @@
/*
* Copyright (C) 2014-2018 Hans-Christoph Steiner
* Copyright (C) 2014-2017 Peter Serwylo
* Copyright (C) 2015-2016 Daniel Martí
* Copyright (C) 2015 Dominik Schürmann
* Copyright (C) 2018 Torsten Grote
* Copyright (C) 2018 dkanada
* Copyright (C) 2018 Senecto Limited
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 3
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301, USA.
*/
package org.fdroid.fdroid.views.fragments; package org.fdroid.fdroid.views.fragments;
import android.app.Activity; import android.app.Activity;
@ -24,6 +49,7 @@ import org.fdroid.fdroid.Languages;
import org.fdroid.fdroid.Preferences; import org.fdroid.fdroid.Preferences;
import org.fdroid.fdroid.R; import org.fdroid.fdroid.R;
import org.fdroid.fdroid.UpdateService; import org.fdroid.fdroid.UpdateService;
import org.fdroid.fdroid.Utils;
import org.fdroid.fdroid.data.RepoProvider; import org.fdroid.fdroid.data.RepoProvider;
import org.fdroid.fdroid.installer.InstallHistoryService; import org.fdroid.fdroid.installer.InstallHistoryService;
import org.fdroid.fdroid.installer.PrivilegedInstaller; import org.fdroid.fdroid.installer.PrivilegedInstaller;
@ -120,7 +146,11 @@ public class PreferencesFragment extends PreferenceFragment
private void textSummary(String key, int resId) { private void textSummary(String key, int resId) {
EditTextPreference pref = (EditTextPreference) findPreference(key); EditTextPreference pref = (EditTextPreference) findPreference(key);
pref.setSummary(getString(resId, pref.getText())); if (pref == null) {
Utils.debugLog(TAG, "null preference found for " + key);
} else {
pref.setSummary(getString(resId, pref.getText()));
}
} }
private void setNetworkSeekBarSummary(SeekBarPreference seekBarPreference) { private void setNetworkSeekBarSummary(SeekBarPreference seekBarPreference) {

View File

@ -1,3 +1,25 @@
/*
* Copyright (C) 2016-2017 Peter Serwylo
* Copyright (C) 2017 Christine Emrich
* Copyright (C) 2017 Hans-Christoph Steiner
* Copyright (C) 2018 Senecto Limited
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 3
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301, USA.
*/
package org.fdroid.fdroid.views.main; package org.fdroid.fdroid.views.main;
import android.app.SearchManager; import android.app.SearchManager;
@ -65,7 +87,7 @@ public class MainActivity extends AppCompatActivity implements BottomNavigationB
private RecyclerView pager; private RecyclerView pager;
private MainViewAdapter adapter; private MainViewAdapter adapter;
private BottomNavigationBar bottomNavigation; private BottomNavigationBar bottomNavigation;
private int selectedMenuId = R.id.whats_new; private int selectedMenuId;
private TextBadgeItem updatesBadge; private TextBadgeItem updatesBadge;
@Override @Override
@ -110,7 +132,9 @@ public class MainActivity extends AppCompatActivity implements BottomNavigationB
LocalBroadcastManager.getInstance(this).registerReceiver(onUpdateableAppsChanged, updateableAppsFilter); LocalBroadcastManager.getInstance(this).registerReceiver(onUpdateableAppsChanged, updateableAppsFilter);
if (savedInstanceState != null) { if (savedInstanceState != null) {
selectedMenuId = savedInstanceState.getInt(STATE_SELECTED_MENU_ID, R.id.whats_new); selectedMenuId = savedInstanceState.getInt(STATE_SELECTED_MENU_ID, (int) adapter.getItemId(0));
} else {
selectedMenuId = (int) adapter.getItemId(0);
} }
setSelectedMenuInNav(); setSelectedMenuInNav();

View File

@ -4,7 +4,7 @@
<style name="BodyTextV16" parent="BodyTextBase"> <style name="BodyTextV16" parent="BodyTextBase">
<item name="android:lineSpacingMultiplier">1.25</item> <item name="android:lineSpacingMultiplier">1.25</item>
</style> </style>
<style name="BodyText" parent="BodyTextV16" /> <style name="BodyText" parent="BodyTextV16"/>
<style name="AppListItemStatusText" parent="AppListItemStatusTextBase"> <style name="AppListItemStatusText" parent="AppListItemStatusTextBase">
<item name="android:fontFamily">sans-serif-light</item> <item name="android:fontFamily">sans-serif-light</item>

View File

@ -5,13 +5,13 @@
<item name="android:textDirection">locale</item> <item name="android:textDirection">locale</item>
</style> </style>
<style name="CaptionText" parent="CaptionTextV17" /> <style name="CaptionText" parent="CaptionTextV17"/>
<style name="BodyTextV17" parent="BodyTextV16"> <style name="BodyTextV17" parent="BodyTextV16">
<item name="android:textDirection">locale</item> <item name="android:textDirection">locale</item>
</style> </style>
<style name="BodyText" parent="BodyTextV17" /> <style name="BodyText" parent="BodyTextV17"/>
<style name="SwapTheme.AppList.SwapSuccess" parent="SwapTheme.AppList.SwapSuccessBase"> <style name="SwapTheme.AppList.SwapSuccess" parent="SwapTheme.AppList.SwapSuccessBase">
<item name="android:textAlignment">center</item> <item name="android:textAlignment">center</item>

View File

@ -8,6 +8,6 @@
</style> </style>
<!-- see http://stackoverflow.com/questions/32169303/activity-did-not-call-finish-api-23 --> <!-- see http://stackoverflow.com/questions/32169303/activity-did-not-call-finish-api-23 -->
<style name="AppThemeTransparent" parent="@android:style/Theme.Translucent.NoTitleBar" /> <style name="AppThemeTransparent" parent="@android:style/Theme.Translucent.NoTitleBar"/>
</resources> </resources>

View File

@ -1,19 +1,19 @@
<?xml version='1.0' encoding='utf-8'?> <?xml version='1.0' encoding='utf-8'?>
<resources> <resources>
<declare-styleable name="Theme"> <declare-styleable name="Theme">
<attr name="appDetailsBackground" format="color" /> <attr name="appDetailsBackground" format="color"/>
<attr name="appDetailsCardBackground" format="color" /> <attr name="appDetailsCardBackground" format="color"/>
<attr name="categoryPreviewAppCardBackground" format="reference" /> <attr name="categoryPreviewAppCardBackground" format="reference"/>
<attr name="mainTabSwapBackground" format="color" /> <attr name="mainTabSwapBackground" format="color"/>
<attr name="mainTabSwapSplashTint" format="color" /> <attr name="mainTabSwapSplashTint" format="color"/>
<attr name="categoryName" format="color" /> <attr name="categoryName" format="color"/>
<attr name="installedApps" format="color" /> <attr name="installedApps" format="color"/>
<attr name="detailPanel" format="reference" /> <attr name="detailPanel" format="reference"/>
<attr name="appListItem" format="color" /> <attr name="appListItem" format="color"/>
<attr name="lightGrayTextColor" format="color" /> <attr name="lightGrayTextColor" format="color"/>
<attr name="antiFeaturesWarning" format="reference" /> <attr name="antiFeaturesWarning" format="reference"/>
<attr name="backButtonDrawable" format="reference" /> <attr name="backButtonDrawable" format="reference"/>
<attr name="clearButtonDrawable" format="reference" /> <attr name="clearButtonDrawable" format="reference"/>
</declare-styleable> </declare-styleable>
<integer name="unhidePin">1337</integer> <integer name="unhidePin">1337</integer>

View File

@ -1,7 +1,10 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<string name="app_description">F-Droid is an installable catalogue of FOSS (Free and Open Source Software) applications for the Android platform. The client makes it easy to browse, install, and keep track of updates on your device.</string> <string name="app_description">F-Droid is an installable catalogue of FOSS (Free and Open Source Software)
applications for the Android platform. The client makes it easy to browse, install, and keep track of updates
on your device.
</string>
<string name="site_link">https://f-droid.org</string> <string name="site_link">https://f-droid.org</string>
<string name="source_link">https://gitlab.com/fdroid/fdroidclient</string> <string name="source_link">https://gitlab.com/fdroid/fdroidclient</string>

View File

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<item type="id" name="preference_fragment_parent" /> <item type="id" name="preference_fragment_parent"/>
<item type="id" name="whats_new_feature" /> <item type="id" name="whats_new_feature"/>
<item type="id" name="whats_new_large_tile" /> <item type="id" name="whats_new_large_tile"/>
<item type="id" name="whats_new_small_tile" /> <item type="id" name="whats_new_small_tile"/>
<item type="id" name="whats_new_regular_list" /> <item type="id" name="whats_new_regular_list"/>
</resources> </resources>

View File

@ -17,7 +17,7 @@
<string name="unstable_updates">Unstable updates</string> <string name="unstable_updates">Unstable updates</string>
<string name="unstable_updates_summary">Suggest updates to unstable versions</string> <string name="unstable_updates_summary">Suggest updates to unstable versions</string>
<string name="keep_install_history">Keep install history</string> <string name="keep_install_history">Keep install history</string>
<string name="keep_install_history_summary">Store a log of all installs and uninstalls inside F-Droid</string> <string name="keep_install_history_summary">Store a log of all installs and uninstalls in a private store</string>
<string name="force_old_index">Force old index format</string> <string name="force_old_index">Force old index format</string>
<string name="force_old_index_summary">In case there are bugs or compatibility issues, use the XML app index</string> <string name="force_old_index_summary">In case there are bugs or compatibility issues, use the XML app index</string>
<string name="other">Other</string> <string name="other">Other</string>
@ -37,7 +37,7 @@
<string name="notify">Show available updates</string> <string name="notify">Show available updates</string>
<string name="notify_on">Show a notification when updates are available</string> <string name="notify_on">Show a notification when updates are available</string>
<string name="system_installer">Privileged Extension</string> <string name="system_installer">Privileged Extension</string>
<string name="system_installer_on">Use F-Droid Privileged Extension to install, update, and remove packages</string> <string name="system_installer_on">Use Privileged Extension to install, update, and remove packages</string>
<string name="uninstall_system">Update/Uninstall Privileged Extension</string> <string name="uninstall_system">Update/Uninstall Privileged Extension</string>
<string name="uninstall_system_summary">Open details screen of Privileged Extension to update/uninstall it</string> <string name="uninstall_system_summary">Open details screen of Privileged Extension to update/uninstall it</string>
<string name="local_repo_name">Name of your Local Repo</string> <string name="local_repo_name">Name of your Local Repo</string>
@ -324,14 +324,14 @@ This often occurs with apps installed via Google Play or other sources, if they
<string name="unknown">Unknown</string> <string name="unknown">Unknown</string>
<string name="repo_confirm_delete_title">Delete Repository?</string> <string name="repo_confirm_delete_title">Delete Repository?</string>
<string name="repo_confirm_delete_body">Deleting a repository means <string name="repo_confirm_delete_body">Deleting a repository means
apps from it will no longer be available from F-Droid.\n\nNote: All apps from it will no longer be available.\n\nNote: All
previously installed apps will remain on your device. previously installed apps will remain on your device.
</string> </string>
<string name="repo_disabled_notification">Disabled "%1$s".\n\nYou will <string name="repo_disabled_notification">Disabled "%1$s".\n\nYou will
need to re-enable this repository to install apps from it. need to re-enable this repository to install apps from it.
</string> </string>
<string name="repo_added">Saved F-Droid repository %1$s.</string> <string name="repo_added">Saved package repository %1$s.</string>
<string name="repo_searching_address">Looking for F-Droid repository at\n%1$s</string> <string name="repo_searching_address">Looking for package repository at\n%1$s</string>
<string name="minsdk_or_later">%s or later</string> <string name="minsdk_or_later">%s or later</string>
<string name="up_to_maxsdk">Up to %s</string> <string name="up_to_maxsdk">Up to %s</string>
<string name="minsdk_up_to_maxsdk">%1$s up to %2$s</string> <string name="minsdk_up_to_maxsdk">%1$s up to %2$s</string>

View File

@ -79,18 +79,18 @@
<!-- customizations that are not API-level specific go here. --> <!-- customizations that are not API-level specific go here. -->
</style> </style>
<style name="AlertDialogBaseThemeDark" parent="Theme.AppCompat.Dialog.Alert" /> <style name="AlertDialogBaseThemeDark" parent="Theme.AppCompat.Dialog.Alert"/>
<style name="AlertDialogThemeDark" parent="AlertDialogBaseThemeDark"> <style name="AlertDialogThemeDark" parent="AlertDialogBaseThemeDark">
<item name="colorAccent">@color/fdroid_green</item> <item name="colorAccent">@color/fdroid_green</item>
<item name="android:windowBackground">@color/cardview_dark_background</item> <item name="android:windowBackground">@color/cardview_dark_background</item>
</style> </style>
<style name="AlertDialogBaseThemeLight" parent="Theme.AppCompat.Light.Dialog.Alert" /> <style name="AlertDialogBaseThemeLight" parent="Theme.AppCompat.Light.Dialog.Alert"/>
<style name="AlertDialogThemeLight" parent="AlertDialogBaseThemeLight"> <style name="AlertDialogThemeLight" parent="AlertDialogBaseThemeLight">
<item name="colorAccent">@color/fdroid_green</item> <item name="colorAccent">@color/fdroid_green</item>
</style> </style>
<style name="AlertDialogBaseThemeNight" parent="AlertDialogThemeDark" /> <style name="AlertDialogBaseThemeNight" parent="AlertDialogThemeDark"/>
<style name="AlertDialogThemeNight" parent="AlertDialogBaseThemeNight"> <style name="AlertDialogThemeNight" parent="AlertDialogBaseThemeNight">
<item name="android:windowBackground">@color/fdroid_night</item> <item name="android:windowBackground">@color/fdroid_night</item>
</style> </style>
@ -122,7 +122,7 @@
<item name="android:textAppearance">@style/TextAppearance.AppCompat.Caption</item> <item name="android:textAppearance">@style/TextAppearance.AppCompat.Caption</item>
<item name="android:textColor">?android:attr/textColorSecondary</item> <item name="android:textColor">?android:attr/textColorSecondary</item>
</style> </style>
<style name="CaptionText" parent="CaptionTextBase" /> <style name="CaptionText" parent="CaptionTextBase"/>
<!-- use this style for a text views that is a paragraph of text --> <!-- use this style for a text views that is a paragraph of text -->
<style name="BodyTextBase"> <style name="BodyTextBase">
@ -130,7 +130,7 @@
<item name="android:layout_height">wrap_content</item> <item name="android:layout_height">wrap_content</item>
<item name="android:textAppearance">@style/TextAppearance.AppCompat.Body1</item> <item name="android:textAppearance">@style/TextAppearance.AppCompat.Body1</item>
</style> </style>
<style name="BodyText" parent="BodyTextBase" /> <style name="BodyText" parent="BodyTextBase"/>
<style name="AppListEmptyText"> <style name="AppListEmptyText">
<item name="android:id">@android:id/empty</item> <item name="android:id">@android:id/empty</item>
@ -149,7 +149,7 @@
<item name="android:maxLines">1</item> <item name="android:maxLines">1</item>
<item name="android:ellipsize">end</item> <item name="android:ellipsize">end</item>
</style> </style>
<style name="AppListItemStatusText" parent="AppListItemStatusTextBase" /> <style name="AppListItemStatusText" parent="AppListItemStatusTextBase"/>
<style name="SwapTheme.Wizard" parent="Theme.AppCompat.Light.NoActionBar"> <style name="SwapTheme.Wizard" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorButtonNormal">@color/swap_bright_blue</item> <item name="colorButtonNormal">@color/swap_bright_blue</item>
@ -180,7 +180,7 @@
<item name="android:paddingBottom">20.1dp</item> <!-- 36px * 96dpi / 160dpi --> <item name="android:paddingBottom">20.1dp</item> <!-- 36px * 96dpi / 160dpi -->
</style> </style>
<style name="SwapTheme.AppList.SwapSuccess" parent="SwapTheme.AppList.SwapSuccessBase" /> <style name="SwapTheme.AppList.SwapSuccess" parent="SwapTheme.AppList.SwapSuccessBase"/>
<style name="SwapTheme.AppList.SwapSuccessDetailsBase"> <style name="SwapTheme.AppList.SwapSuccessDetailsBase">
<item name="android:gravity">center</item> <item name="android:gravity">center</item>
@ -190,7 +190,7 @@
<item name="android:textStyle">bold</item> <item name="android:textStyle">bold</item>
</style> </style>
<style name="SwapTheme.AppList.SwapSuccessDetails" parent="SwapTheme.AppList.SwapSuccessDetailsBase" /> <style name="SwapTheme.AppList.SwapSuccessDetails" parent="SwapTheme.AppList.SwapSuccessDetailsBase"/>
<style name="SwapTheme.StartSwap.MainTextBase"> <style name="SwapTheme.StartSwap.MainTextBase">
<item name="android:gravity">center</item> <item name="android:gravity">center</item>
@ -211,7 +211,7 @@
<item name="android:textColorSecondary">#fff</item> <item name="android:textColorSecondary">#fff</item>
</style> </style>
<style name="SwapTheme.Wizard.Text" parent="SwapTheme.Wizard.TextBase" /> <style name="SwapTheme.Wizard.Text" parent="SwapTheme.Wizard.TextBase"/>
<style name="SwapTheme.Wizard.Text.Toolbar" parent="SwapTheme.Wizard.Text"> <style name="SwapTheme.Wizard.Text.Toolbar" parent="SwapTheme.Wizard.Text">
<item name="android:textSize">22sp</item> <item name="android:textSize">22sp</item>
@ -232,9 +232,9 @@
<item name="android:paddingBottom">10dp</item> <item name="android:paddingBottom">10dp</item>
</style> </style>
<style name="SwapTheme.Wizard.MainText" parent="SwapTheme.Wizard.MainTextBase" /> <style name="SwapTheme.Wizard.MainText" parent="SwapTheme.Wizard.MainTextBase"/>
<style name="SwapTheme.Wizard.QRScanWarningText" parent="@style/SwapTheme.Wizard.MainTextBase" > <style name="SwapTheme.Wizard.QRScanWarningText" parent="@style/SwapTheme.Wizard.MainTextBase">
<item name="android:paddingLeft">40dp</item> <item name="android:paddingLeft">40dp</item>
<item name="android:paddingRight">40dp</item> <item name="android:paddingRight">40dp</item>
<item name="android:paddingTop">0dp</item> <item name="android:paddingTop">0dp</item>
@ -288,7 +288,7 @@
<item name="android:gravity">center_vertical</item> <item name="android:gravity">center_vertical</item>
</style> </style>
<style name="AppDetailsLink" parent="AppDetailsLinkBase" /> <style name="AppDetailsLink" parent="AppDetailsLinkBase"/>
<style name="AppDetailsSubheaderTextBase"> <style name="AppDetailsSubheaderTextBase">
<item name="android:layout_width">match_parent</item> <item name="android:layout_width">match_parent</item>
@ -300,9 +300,9 @@
<item name="android:drawablePadding">12dp</item> <item name="android:drawablePadding">12dp</item>
</style> </style>
<style name="AppDetailsSubheaderText" parent="AppDetailsSubheaderTextBase" /> <style name="AppDetailsSubheaderText" parent="AppDetailsSubheaderTextBase"/>
<style name="AppThemeTransparent" parent="@android:style/Theme.NoDisplay" /> <style name="AppThemeTransparent" parent="@android:style/Theme.NoDisplay"/>
<style name="AppThemeLight.NoActionBar"> <style name="AppThemeLight.NoActionBar">
<item name="windowActionBar">false</item> <item name="windowActionBar">false</item>
@ -314,7 +314,7 @@
<item name="android:src">@drawable/ic_more</item> <item name="android:src">@drawable/ic_more</item>
</style> </style>
<style name="AppThemeLight.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" /> <style name="AppThemeLight.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar"/>
<style name="AppThemeLight.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" /> <style name="AppThemeLight.PopupOverlay" parent="ThemeOverlay.AppCompat.Light"/>
</resources> </resources>

View File

@ -6,9 +6,9 @@
<item name="android:minHeight">32dp</item> <item name="android:minHeight">32dp</item>
<item name="android:minWidth">0dp</item> <item name="android:minWidth">0dp</item>
<item name="android:padding">12dp</item> <item name="android:padding">12dp</item>
</style>qgi </style>
<style name="DetailsButtonStyle" parent="DetailsButtonStyleBase" /> <style name="DetailsButtonStyle" parent="DetailsButtonStyleBase"/>
<style name="DetailsPrimaryButtonStyle" parent="DetailsButtonStyle"> <style name="DetailsPrimaryButtonStyle" parent="DetailsButtonStyle">
<item name="android:textColor">#ffffff</item> <item name="android:textColor">#ffffff</item>

View File

@ -1,9 +1,6 @@
buildscript { buildscript {
repositories { repositories {
maven { jcenter()
url "https://repo1.maven.org/maven2"
jcenter()
}
maven { maven {
url 'https://maven.google.com/' url 'https://maven.google.com/'
name 'Google' name 'Google'
@ -16,6 +13,9 @@ buildscript {
allprojects { allprojects {
repositories { repositories {
jcenter() jcenter()
maven { url 'https://maven.google.com' } maven {
url 'https://maven.google.com/'
name 'Google'
}
} }
} }