From 11c28bff2c26afb0e6fc7ddaea938374f4f8b7b7 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Wed, 11 Jul 2018 17:47:16 +0200 Subject: [PATCH 1/6] use nearby icon in Nearby/Swap notification closes #871 --- .../org/fdroid/fdroid/localrepo/SwapService.java | 2 +- app/src/full/res/drawable-hdpi/ic_swap.png | Bin 1659 -> 0 bytes app/src/full/res/drawable-ldpi/ic_swap.png | Bin 243 -> 0 bytes app/src/full/res/drawable-mdpi/ic_swap.png | Bin 449 -> 0 bytes app/src/full/res/drawable-xhdpi/ic_swap.png | Bin 1975 -> 0 bytes 5 files changed, 1 insertion(+), 1 deletion(-) delete mode 100644 app/src/full/res/drawable-hdpi/ic_swap.png delete mode 100644 app/src/full/res/drawable-ldpi/ic_swap.png delete mode 100644 app/src/full/res/drawable-mdpi/ic_swap.png delete mode 100644 app/src/full/res/drawable-xhdpi/ic_swap.png diff --git a/app/src/full/java/org/fdroid/fdroid/localrepo/SwapService.java b/app/src/full/java/org/fdroid/fdroid/localrepo/SwapService.java index 826de3736..a205ab066 100644 --- a/app/src/full/java/org/fdroid/fdroid/localrepo/SwapService.java +++ b/app/src/full/java/org/fdroid/fdroid/localrepo/SwapService.java @@ -567,7 +567,7 @@ public class SwapService extends Service { return new NotificationCompat.Builder(this) .setContentTitle(getText(R.string.local_repo_running)) .setContentText(getText(R.string.touch_to_configure_local_repo)) - .setSmallIcon(R.drawable.ic_swap) + .setSmallIcon(R.drawable.ic_nearby) .setContentIntent(contentIntent) .build(); } diff --git a/app/src/full/res/drawable-hdpi/ic_swap.png b/app/src/full/res/drawable-hdpi/ic_swap.png deleted file mode 100644 index 4f155215a5c5a949aaef96c4aca685684a9c22f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1659 zcmeAS@N?(olHy`uVBq!ia0vp^#z3sh!3-q%Rvv0*U|>oK@Ck7Ra{rHl(GZ|z2-syv zUj?SK(=8?o|tSoPG55)7=xBXXV>Surf-Abnm?L?cc|%>uOyEBs6~#~H|ei24)xNgG?nu2-F5BD{WE!XVbPa5O(uTlne+0( ze&1uC-%M7j{!zfZJ;-hPX%+1V%_%=scNe~BjNy>9JR)-=GHrszDcPg#IZ2+1$?G30 z=ol{3y&OBY|KfasEVY$^DlIC&Z1mgH#WBRYxJ}1pHdIG`W z{`VPX^EoRg3$Hl1EbUp1*tD=~X4}ft0xnR;-R#o50XnGahZkW&$s5Rnne>d+BX6UvigymnN$bJbB}uAHb6pEc^sgde%2 zS~kuT>US6PeZVfMI(5dAM%$7}vO#{!e=X)%x^ykhkE;g=_XK+N9;Q>(-KG zVe8jj5$v8aKZdf#$Vs!I#cN zPEvUHgm20fGiy>?!9XX_wzkTX%_LVpm)YyIPITX+U!vC(e0{YQ_aw2h<%cQM zU(MpMFXEkWcw?DXl*ZZz%(GS-2~VoJzE=O%2Ei3N7I~A|4NNO78JuIUN*Sjf&u7z$ zV)k6T?^f2i19#R0o!p+PIAM3qOyldBWjZVKUR}#dxUtc}W-srg|DiXwH{Vs>lKgz# z+8dX?-ZeHm*sh!XL3~PLd)aOVZoR2l>vR`fy7=J3%gd&(Sh&L3&MQAq zdiiBhYr;Ffmj}3*ovI`r-E@qydhWDo`^Ae<%1u!c%lsJCSXU-rDEeLTxzpfKl|)yg zrlqUA*aY>*9TyHMn5=yJMRQSzQe&;}#a@-H#E5%2yE{W{dHy|2sAp!FIycc|@^ckX P^}^uk>gTe~DWM4f$wf7w diff --git a/app/src/full/res/drawable-ldpi/ic_swap.png b/app/src/full/res/drawable-ldpi/ic_swap.png deleted file mode 100644 index 3920e0a8055598d2388cb7b24d154397af0c51e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 243 zcmVIYwf{TNLO%75` zOSt-;CI})3LZUW;3tNWJrcEuPO|y+4 z9B>vb@&_bHiqI0VCQS&^83z~gw3x9ON62?|?!C`_&wDt5I(e8h7wM*zBn6fjXOvu6 zVyA4f-<(CY=(6Aa<+@rhYoCn(p$0z2L;6TCO_oXWtdpdTb6nsoC0;NbepKP(zES7B z=Mig7g6-aS(T{diFI&v0Q}$L-W8+E{nKETm31iFv!+hapcn{z{y6E935qYMV2*0t4XTxAt7?TGvNk38sGb;ua7 r(N=bm{eJKa?150Aup3T}z0AU2e&YQnzp7IP00000NkvXXu0mjf{teN* diff --git a/app/src/full/res/drawable-xhdpi/ic_swap.png b/app/src/full/res/drawable-xhdpi/ic_swap.png deleted file mode 100644 index 00b02895341d8bacc7d2c596467ebddb0287e020..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1975 zcmeHH`8yK~0G1SWUDkL91R zYb`rt53K~i_Ia%BCg?jip1n^Hhm}?dzN{CwuG;Cyi>aA=5YkKkHBuTFdBCq2`u*n( zckVDQXRA?^w@-2sQPyQ$@ulNlk?!=zn;Vy9LwXc`Eh!&90-Ao+lPf&YT<%*dlTpoJ zep|01MQSy?*PbT}VKqFvQ-!bhQr7|~@`AuT__%ORh3X@z9{0-A70qZR*YZ3v$~He^Cvm!UUqElr zXm=`dw@`agfU=m_zPQCI+@h@SPrW(M4I6Mfw;ZBRjTym@Ar0RZ>&0i~>gdZ3c1Je= z@$lBzHP;u(@5B_9uoq`0}5$55Wik%>a$_5KZxLkM zULmOxHpGLp@4^LrU%}x%>i*E@O0Ht;9+x_wvnld)GWDGD7qu+S41bB7=zAZngNS|Osh=KKuhMwI`*z1Ddm|Xv<`&||n8BlFmt*t%Bq#5IE~QcG z6_%QldoP34=84b%`)Ew|)!rb=dYq8plvns$zT7kpRr1=Ld$>wJG6up1H+>MNxpiZr zalkfOr-xQ;-9&c@i~dLfTQrj!N?}1$Xjr1-(u56Z7w@RKmwXYH28=|f)QLcAs_T&} z?u4g@9BnR#A8qo^Z%2g|I(SORFm|BklH{H)OYFnjg(f_C+}JDDUDM$&wbV_Q{BW*q z13w9&fdNf|TNVp!WF~t?eJ9=vF=54eupv3Nx>&Gp8_jQo2UoxCVAVqKuA_I{VSrF2 z+pltw86j;0_Qms>RfUfBQN0T3gM6Q{`QM{z8>IZblVLEr4~MuxYy5}%60&p%d8%`F zTD5#$#2|u&xa9)z3Q)#Hes%28-kww%IpEfDbV<;c#GZ8$vZ!lJzbB+mXz5gMWqQDR z;hp*5n492UtdW~d@Y-{Bt(o{myk2Z;T3h{jMlJ!AFD}p1mLml-wj=$KfVI%$$L$tM zuz5*MmgU4%!l310k+IWB@5DfYx*m!voJjngxOODrb4} z1Vu}!q=UPe6>~UQBUcv?ud}x2Xq6D!(|k|os?Fb&PG-!q&xFWZe^d}$c`~kbp<!!?1+p|e5g2oW8zowj`b&{ngcptGG^tbr*}bS zw(aSAvY$N&heS5iAsx;qs>4V}*Kxn?u9-*ie&By!LG ztksfH9F~!mLsoO_5M}K|LB>L6dB5bQf!(jynj2j-?Z@(Jc}#HDDBX^{ixJf~1bm#% z{^2Ztgjo5Rg;hxS&bZ!RZ|bS5d!CbAo$tErv=j-2qS zUM0@1SJWM=K93Dk`SuW5T`Hd`UJ>!7e!Eo?5_VRl>xiz%ipP{b$T+?~fUT7is=?w) F%6~7L{8az| From 6bcc1f2e6812e97cf2fb7924e129f8949b45ea52 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Thu, 12 Jul 2018 10:22:51 +0200 Subject: [PATCH 2/6] fix crasher caused by wrong init Also, app.installedApk.sig is set in App.initInstalledApk() from 3a5ecc5e8ec6c820dbfdb788dc06f7dbb0699c18 refs #1305 refs #855 java.lang.NullPointerException at org.fdroid.fdroid.data.App.getInstance(App.java:390) at org.fdroid.fdroid.localrepo.CacheSwapAppsService.onHandleIntent(CacheSwapAppsService.java:77) at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:65) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:137) at android.os.HandlerThread.run(HandlerThread.java:60) --- app/src/main/java/org/fdroid/fdroid/data/App.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/app/src/main/java/org/fdroid/fdroid/data/App.java b/app/src/main/java/org/fdroid/fdroid/data/App.java index 33b6b5ee4..75d7d5b1b 100644 --- a/app/src/main/java/org/fdroid/fdroid/data/App.java +++ b/app/src/main/java/org/fdroid/fdroid/data/App.java @@ -381,6 +381,7 @@ public class App extends ValueObject implements Comparable, Parcelable { App app = new App(); PackageInfo packageInfo = pm.getPackageInfo(packageName, PackageManager.GET_PERMISSIONS); SanitizedFile apkFile = SanitizedFile.knownSanitized(packageInfo.applicationInfo.publicSourceDir); + app.installedApk = new Apk(); if (apkFile.canRead()) { String hashType = "SHA-256"; String hash = Utils.getBinaryHash(apkFile, hashType); @@ -389,11 +390,9 @@ public class App extends ValueObject implements Comparable, Parcelable { } app.installedApk.hashType = hashType; app.installedApk.hash = hash; - app.installedApk.sig = Utils.getPackageSig(packageInfo); } app.setFromPackageInfo(pm, packageInfo); - app.installedApk = new Apk(); app.initInstalledApk(context, app.installedApk, packageInfo, apkFile); return app; } From 5295b6f0d185d4b6c884177c0b183706552ce843 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Thu, 12 Jul 2018 11:44:46 +0200 Subject: [PATCH 3/6] rename FAB id to make it easier to find --- .../java/org/fdroid/fdroid/views/main/CategoriesViewBinder.java | 2 +- .../java/org/fdroid/fdroid/views/main/WhatsNewViewBinder.java | 2 +- app/src/main/res/layout/fab_search.xml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/src/full/java/org/fdroid/fdroid/views/main/CategoriesViewBinder.java b/app/src/full/java/org/fdroid/fdroid/views/main/CategoriesViewBinder.java index dd476de05..8c0d8e4a0 100644 --- a/app/src/full/java/org/fdroid/fdroid/views/main/CategoriesViewBinder.java +++ b/app/src/full/java/org/fdroid/fdroid/views/main/CategoriesViewBinder.java @@ -68,7 +68,7 @@ class CategoriesViewBinder implements LoaderManager.LoaderCallbacks { } }); - FloatingActionButton searchFab = (FloatingActionButton) categoriesView.findViewById(R.id.btn_search); + FloatingActionButton searchFab = (FloatingActionButton) categoriesView.findViewById(R.id.fab_search); searchFab.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { diff --git a/app/src/full/java/org/fdroid/fdroid/views/main/WhatsNewViewBinder.java b/app/src/full/java/org/fdroid/fdroid/views/main/WhatsNewViewBinder.java index 051da5b4f..acb91388a 100644 --- a/app/src/full/java/org/fdroid/fdroid/views/main/WhatsNewViewBinder.java +++ b/app/src/full/java/org/fdroid/fdroid/views/main/WhatsNewViewBinder.java @@ -67,7 +67,7 @@ class WhatsNewViewBinder implements LoaderManager.LoaderCallbacks { } }); - FloatingActionButton searchFab = (FloatingActionButton) whatsNewView.findViewById(R.id.btn_search); + FloatingActionButton searchFab = (FloatingActionButton) whatsNewView.findViewById(R.id.fab_search); searchFab.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { diff --git a/app/src/main/res/layout/fab_search.xml b/app/src/main/res/layout/fab_search.xml index 006bd38d4..de7f83d4f 100644 --- a/app/src/main/res/layout/fab_search.xml +++ b/app/src/main/res/layout/fab_search.xml @@ -1,7 +1,7 @@ Date: Thu, 12 Jul 2018 16:50:42 +0200 Subject: [PATCH 4/6] do not crash on mystery last second null IP addresses, closes #1434 java.lang.IllegalArgumentException: Could not parse [null/24] at org.apache.commons.net.util.SubnetUtils.calculate(SubnetUtils.java:275) at org.apache.commons.net.util.SubnetUtils.(SubnetUtils.java:51) at org.fdroid.fdroid.net.WifiStateChangeService.setIpInfoFromNetworkInterface(WifiStateChangeService.java:261) at org.fdroid.fdroid.net.WifiStateChangeService.access$100(WifiStateChangeService.java:50) at org.fdroid.fdroid.net.WifiStateChangeService$WifiInfoThread.run(WifiStateChangeService.java:132) --- .../org/fdroid/fdroid/net/WifiStateChangeService.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/app/src/full/java/org/fdroid/fdroid/net/WifiStateChangeService.java b/app/src/full/java/org/fdroid/fdroid/net/WifiStateChangeService.java index 023524a9a..baf3a68a1 100644 --- a/app/src/full/java/org/fdroid/fdroid/net/WifiStateChangeService.java +++ b/app/src/full/java/org/fdroid/fdroid/net/WifiStateChangeService.java @@ -14,6 +14,7 @@ import android.support.v4.content.LocalBroadcastManager; import android.text.TextUtils; import android.util.Log; import org.apache.commons.net.util.SubnetUtils; +import org.fdroid.fdroid.BuildConfig; import org.fdroid.fdroid.FDroidApp; import org.fdroid.fdroid.Preferences; import org.fdroid.fdroid.UpdateService; @@ -266,11 +267,17 @@ public class WifiStateChangeService extends IntentService { // java.lang.IllegalArgumentException: Value [64] not in range [0,32] continue; } - if (inetAddress.equals(address.getAddress()) && !TextUtils.isEmpty(FDroidApp.ipAddressString)) { + try { String cidr = String.format(Locale.ENGLISH, "%s/%d", FDroidApp.ipAddressString, networkPrefixLength); FDroidApp.subnetInfo = new SubnetUtils(cidr).getInfo(); break; + } catch (IllegalArgumentException e) { + if (BuildConfig.DEBUG) { + e.printStackTrace(); + } else { + Log.i(TAG, e.getLocalizedMessage()); + } } } } From 54a080f7f73ef7e18da6a47702b1ce4a0f2e30bd Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Wed, 11 Jul 2018 16:56:55 +0200 Subject: [PATCH 5/6] only scroll to bottom of Setting when toggling Expert Mode closes #1502 --- .../org/fdroid/fdroid/views/fragments/PreferencesFragment.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/src/main/java/org/fdroid/fdroid/views/fragments/PreferencesFragment.java b/app/src/main/java/org/fdroid/fdroid/views/fragments/PreferencesFragment.java index 8c49f0617..a9a9153fe 100644 --- a/app/src/main/java/org/fdroid/fdroid/views/fragments/PreferencesFragment.java +++ b/app/src/main/java/org/fdroid/fdroid/views/fragments/PreferencesFragment.java @@ -295,6 +295,8 @@ public class PreferencesFragment extends PreferenceFragment if (TextUtils.equals(Preferences.PREF_EXPERT, pref.getDependency())) { pref.setVisible(isExpertMode); } + } + if (changing) { RecyclerView recyclerView = getListView(); recyclerView.smoothScrollToPosition(recyclerView.getAdapter().getItemCount() - 1); } From c7dcb92a20d545bbb29dc67013d94f9d742fe6d5 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Thu, 12 Jul 2018 17:51:50 +0200 Subject: [PATCH 6/6] make SeekBarPreference format summary text in a standard way I fixed it by using the same style as a standard preference: * the summary text size was a bit too large * the summary text should be allowed to wrap closes #1450 --- app/src/main/res/layout/preference_seekbar.xml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/app/src/main/res/layout/preference_seekbar.xml b/app/src/main/res/layout/preference_seekbar.xml index b3b91d9a9..84a95b2ed 100644 --- a/app/src/main/res/layout/preference_seekbar.xml +++ b/app/src/main/res/layout/preference_seekbar.xml @@ -21,10 +21,8 @@ android:layout_below="@android:id/title" android:layout_alignLeft="@android:id/title" android:layout_alignStart="@android:id/title" - android:textAppearance="?attr/textAppearanceListItemSmall" + android:textAppearance="?attr/textAppearanceListItemSecondary" android:textColor="?android:attr/textColorSecondary" - android:singleLine="true" - android:ellipsize="marquee" android:fadingEdge="horizontal"/>