1124 Commits

Author SHA1 Message Date
Marcus Hoffmann
10e2bf2a7c
add liberapay field and donation option
This add the liberapayID index field to the local db and then displays a
donation badge for apps that provide this.
2018-02-15 19:58:12 +01:00
Hans-Christoph Steiner
5c2e9305a8 only force index update when the locale actually changes
This was forcing an index update on any config change, even just a simple
screen rotation.  Now it actually checks whether its needed.

closes #1325
2018-02-13 21:26:49 +01:00
Hans-Christoph Steiner
30b00156db javadoc cleanup 2018-02-13 21:26:49 +01:00
Hans-Christoph Steiner
833d3f40fd CleanCacheService: reduce logcat noise, check if file exists before rm 2018-02-13 21:26:49 +01:00
Hans-Christoph Steiner
8a0abdd841 AppDetails2 run style formatter and fix line length issues 2018-02-13 20:34:02 +01:00
Hans-Christoph Steiner
532d1dfc72 make sure cached file exists before trying to scan it
Files in the cache can be deleted at any time, without warning.  F-Droid's
CleanCacheService can do it, the user can do it in Settings --> Apps, etc.
So when working with files from the cache, the methods need to be extra
defensive, checking that the file that they were given still exists.

closes #1305
2018-02-13 20:34:02 +01:00
Hans-Christoph Steiner
8600ce8d8a prevent crashes from update notifications on < android-11
closes #1306

* https://stackoverflow.com/questions/3112008/android-java-lang-illegalargumentexception-contentintent-required-error-cause
* https://stackoverflow.com/questions/20032249/is-setcontentintentpendingintent-required-in-notificationcompat-builder
2018-02-13 20:34:02 +01:00
Hans-Christoph Steiner
f32b26d5c3 Merge branch 'add-sorting-redo' into 'master'
Add sorting redo

fdroidclient!637
2018-02-13 17:28:54 +01:00
Hans-Christoph Steiner
782cf9917f FDroidApp.isAppThemeLight() to avoid opaque, super long test lines 2018-02-13 17:22:00 +01:00
Hans-Christoph Steiner
c031939379 run Android Studio code formatter e.g. Ctrl-Alt-L 2018-02-13 17:15:29 +01:00
hotlittlewhitedog
93885371cc add-sorting-redo-c3
modified:   app/src/main/java/org/fdroid/fdroid/views/apps/AppListActivity.java
	modified:   app/src/main/res/layout/activity_app_list.xml
2018-02-12 18:59:27 +01:00
hotlittlewhitedog
e72348b2d9 add-sorting-redo-c2
modified:   app/src/main/java/org/fdroid/fdroid/views/apps/AppListActivity.java
	modified:   app/src/main/res/layout/activity_app_list.xml
2018-02-12 18:32:15 +01:00
Hans-Christoph Steiner
0f98e1e125 ACRA: add more fields to crash reports, but no user identifying info
extended info on things we already have:
* PRODUCT is another name for BRAND/PHONE_MODEL
* TOTAL_MEM_SIZE can be derived from hardware name
* DISPLAY is also available by looking up the hardware
* STACK_TRACE_HASH should make automated sorting easier

new info:
* PACKAGE_NAME is only new info if the user is using a whitelabel app
* AVAILABLE_MEM_SIZE can be used to track users, but only when provided at
  high resolution, e.g. once per second or higher.  Most users only send a
  single crash report.  High frequency reporters send under 100, which is
  still orders of magnatude below what is needed to track users.
2018-02-08 23:41:31 +01:00
Hans-Christoph Steiner
b11cc6ab28 checkstyle fixes: LineLength 2018-02-06 00:17:43 +01:00
hotlittlewhitedog
b79c6a9780 add-sorting-redo
modified:   app/src/main/java/org/fdroid/fdroid/views/apps/AppListActivity.java
	modified:   app/src/main/res/layout/activity_app_list.xml
	modified:   app/src/main/res/values/strings.xml
	app/src/main/res/drawable-hdpi/ic_az_black.png
	app/src/main/res/drawable-hdpi/ic_last_updated_black.png
	app/src/main/res/drawable-mdpi/ic_az_black.png
	app/src/main/res/drawable-mdpi/ic_last_updated_black.png
	app/src/main/res/drawable-xhdpi/ic_az_black.png
	app/src/main/res/drawable-xhdpi/ic_last_updated_black.png
	app/src/main/res/drawable-xxhdpi/ic_az_black.png
	app/src/main/res/drawable-xxhdpi/ic_last_updated_black.png
	app/src/main/res/drawable-xxxhdpi/ic_az_black.png
	app/src/main/res/drawable-xxxhdpi/ic_last_updated_black.png
2018-02-04 22:13:20 +01:00
Hans-Christoph Steiner
29658259fa force clean index update when underlying OS is upgraded
Things like permission support, locales, etc. can change when Android is
updated.  So the database should be rebuilt from scratch with a fresh
download of the indexes.

closes #780
2018-01-31 16:20:24 +01:00
Hans-Christoph Steiner
887c55247a force full index update when system locale changes
The database currently only stores the active language.  So if the
user changes the system language of the phone, then the language of
all the app descriptions will be out of sync until the next update.
This forces an update when the locale is changed.  This functionality
is also needed for events like OS upgrades.

closes #225
2018-01-31 16:20:24 +01:00
Hans-Christoph Steiner
6448491751 WifiStateChangeService: exit after trying for 2 minutes
It was tried until it got an IP address, but that will only happen if there
is a wifi device configured.  Since WifiStateChangeService is started when
F-Droid starts, WifiStateChangeService could run for days if someone never
connected to WiFi in that time.

WifiStateChangeService is also started by NETWORK_STATE_CHANGED_ACTION so
it should start each time there is a change to the WiFi connection.
2018-01-31 16:20:23 +01:00
Hans-Christoph Steiner
8a8ca2e6f7 WifiStateChangeService: use Intent static start method pattern
This is the standard pattern for starting IntentServices.  It also makes
it really easy to trace what is starting this Service.
2018-01-31 16:20:23 +01:00
Hans-Christoph Steiner
6d011c3895 use triedEmptyUpdate methods in Preferences throughout the codebase
We have these methods, they should be used!
2018-01-31 16:20:23 +01:00
Hans-Christoph Steiner
d8879dd425 make DBHelper follow the Java Singleton pattern
It was already behaving like a singleton, but the code was spread around in
other classes.  DBHelper does not use a private constructor though since
the tests prevent it.
2018-01-31 16:20:23 +01:00
Hans-Christoph Steiner
2fe7faed6e convert panic preferences to standard Preferences code style
Yes, this is an ugly and old style, but mixing styles only makes it worse.
Plus it breaks the tests in some cases, since it makes Preferences depend
on Resources.
2018-01-31 15:04:14 +01:00
Torsten Grote
a639edb59c
Style NoPanicApp icon depending on theme 2018-01-30 19:07:37 -02:00
Hans-Christoph Steiner
6260c11efc Merge branch 'static-inner-class' into 'master'
Make some inner classes static

See merge request fdroid/fdroidclient!633
2018-01-30 15:11:55 +00:00
Andrew Gaul
94c4374bf7 Make some inner classes static
This avoids an implicit this field and can help GC.  Found via
error-prone.
2018-01-28 16:28:56 -08:00
Torsten Grote
6067c15085
Implement App Hiding
This commit allows F-Droid to hide itself from the laucher.
It can be hidden either as response to a panic trigger
or as a manual action by long pressing the floating search button.
The latter needs to be explicitly enabled in the settings.

Once hidden, a semi-functional fake calculator app appears in the
launcher that can be used to bring F-Droid back by entering a
pre-defined PIN.
2018-01-27 16:42:59 -02:00
dkanada
b5e6db76a7 rename strings and preferences
!617
2018-01-26 19:24:55 +01:00
Hans-Christoph Steiner
6fe1fa581f Merge branch 'provisioning' into 'master'
file based provisioning + authentication support in add repo Intents

See merge request fdroid/fdroidclient!630
2018-01-26 18:24:21 +00:00
Michael Pöhn
c60c606dcf remove outdated comments; use File concatenation instead of separators 2018-01-26 17:56:06 +01:00
Hans-Christoph Steiner
1959657092 Merge branch 'issue-1295' into 'master'
Fixes the behaviour of cancel button

Closes #1295

See merge request fdroid/fdroidclient!628
2018-01-26 12:39:08 +00:00
Hans-Christoph Steiner
c61024e070 Merge branch 'add-padding-to-last-app-redo' into 'master'
Add padding to last app in Category

See merge request fdroid/fdroidclient!625
2018-01-26 13:30:26 +01:00
Hans-Christoph Steiner
720822e260 keep category count at original number: 20 2018-01-26 13:29:29 +01:00
Michael Pöhn
aab46c8ab2 implemented provisioning routine 2018-01-25 23:28:15 +01:00
Michael Pöhn
bb1292586b fix lint for ManageRepoActivity 2018-01-25 23:28:15 +01:00
Michael Pöhn
0f64fd30c6 fix lint for NewRepoConfig 2018-01-25 23:28:15 +01:00
Michael Pöhn
b13e27f759 trigger provisions on app start 2018-01-25 23:28:15 +01:00
Michael Pöhn
9786fd2550 added authentication parsing support to add-repo dialog 2018-01-25 23:28:15 +01:00
Michael Pöhn
96def8adca added parsing for repository signing key property to provisioning files 2018-01-25 23:28:15 +01:00
Michael Pöhn
4a5ad0a33d implemented parser for (repository) provisioning 2018-01-25 23:28:15 +01:00
Shobhit Agarwal
88e567354e Fixes the behaviour of cancel button 2018-01-24 00:09:35 +05:30
Hans-Christoph Steiner
dd0f791e3f Merge branch 'android-app-links' into 'master'
set up "Android App Links" handling aka "Digital Asset Links"

See merge request fdroid/fdroidclient!626
2018-01-17 13:23:57 +00:00
Torsten Grote
0922953bca
Make sure FLAG_SECURE is set on all activities when activated 2018-01-15 11:36:25 -02:00
Hans-Christoph Steiner
3938146f93 set up "Android App Links" handling aka "Digital Asset Links"
Add all the new URL path possibilities with the new website to the filter,
and the possible, official host names.  This makes it more likely that
f-droid.org links go straight to F-Droid.

* https://developers.google.com/digital-asset-links/v1/getting-started
* https://developer.android.com/training/app-links/verify-site-associations.html

fdroid-website#165
2018-01-12 13:50:32 +01:00
Hans-Christoph Steiner
f748d1e5fc review AppSecurityPermissions for new changes to sync 2018-01-12 13:50:32 +01:00
Hans-Christoph Steiner
55aa8e9aa6 use standard buffer size for Utils.getBinaryHash()
While a large buffer might make things slightly faster, the smaller buffer
size should play much nicer when F-Droid is doing things in the background.
Since calculating the hash is part of the update procedure, which can now
happen in the background, this method will be often running in the
background.

The tests showed no difference in time between the large and small buffer.
2018-01-12 13:50:32 +01:00
hotlittlewhitedog
ec2b82f827 add-padding-to-last-app-redo
modified:   app/src/main/java/org/fdroid/fdroid/views/categories/CategoryController.java
	modified:   app/src/main/res/layout/category_item.xml
	modified:   app/src/main/res/values/dimens.xml
2018-01-11 21:31:46 +01:00
Hans-Christoph Steiner
81f725f9f8 fix lint WrongConstant
Donno how that magic number slipped in, this is the actual flag.
/builds/eighthave/fdroidclient/app/src/main/java/org/fdroid/fdroid/acra/CrashReportSender.java:31: Error: Must be one or more of: Intent.FLAG_GRANT_READ_URI_PERMISSION, Intent.FLAG_GRANT_WRITE_URI_PERMISSION, Intent.FLAG_FROM_BACKGROUND, Intent.FLAG_DEBUG_LOG_RESOLUTION, Intent.FLAG_EXCLUDE_STOPPED_PACKAGES, Intent.FLAG_INCLUDE_STOPPED_PACKAGES, Intent.FLAG_GRANT_PERSISTABLE_URI_PERMISSION, Intent.FLAG_GRANT_PREFIX_URI_PERMISSION, Intent.FLAG_ACTIVITY_NO_HISTORY, Intent.FLAG_ACTIVITY_SINGLE_TOP, Intent.FLAG_ACTIVITY_NEW_TASK, Intent.FLAG_ACTIVITY_MULTIPLE_TASK, Intent.FLAG_ACTIVITY_CLEAR_TOP, Intent.FLAG_ACTIVITY_FORWARD_RESULT, Intent.FLAG_ACTIVITY_PREVIOUS_IS_TOP, Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS, Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT, Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED, Intent.FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY, Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET, Intent.FLAG_ACTIVITY_NEW_DOCUMENT, Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET, Intent.FLAG_ACTIVITY_NO_USER_ACTION, Intent.FLAG_ACTIVITY_REORDER_TO_FRONT, Intent.FLAG_ACTIVITY_NO_ANIMATION, Intent.FLAG_ACTIVITY_CLEAR_TASK, Intent.FLAG_ACTIVITY_TASK_ON_HOME, Intent.FLAG_ACTIVITY_RETAIN_IN_RECENTS, Intent.FLAG_ACTIVITY_LAUNCH_ADJACENT, Intent.FLAG_RECEIVER_REGISTERED_ONLY, Intent.FLAG_RECEIVER_REPLACE_PENDING, Intent.FLAG_RECEIVER_FOREGROUND, Intent.FLAG_RECEIVER_NO_ABORT, Intent.FLAG_RECEIVER_VISIBLE_TO_INSTANT_APPS [WrongConstant]

MODE_APPEND is only for openFileOutput
/builds/eighthave/fdroidclient/app/src/main/java/org/fdroid/fdroid/localrepo/SwapService.java:105: Error: Must be one or more of: Context.MODE_PRIVATE, Context.MODE_WORLD_READABLE, Context.MODE_WORLD_WRITEABLE, Context.MODE_MULTI_PROCESS [WrongConstant]
2018-01-04 23:01:00 +01:00
Torsten Grote
512789aafa
Basic PanicKit Support with one default action
The default action closes F-Droid and removes it from the list of recent
apps.

Destructive action will be added later.
2017-12-06 16:25:01 -02:00
Hans-Christoph Steiner
1095469cd0 implement HTML with preserved newlines for app descriptions
#1000
closes #1114
2017-12-01 13:40:37 +01:00
Hans-Christoph Steiner
92f94ef195 Merge branch 'trim-names-and-summaries' into 'master'
Trim names and summaries

See merge request fdroid/fdroidclient!613
2017-12-01 11:17:12 +00:00