Fixes for Android <25

This commit is contained in:
Ricki Hirner 2020-08-10 15:18:20 +02:00
parent 6b2828646e
commit 22c399e6fd
4 changed files with 27 additions and 13 deletions

View file

@ -13,10 +13,13 @@ import android.app.Activity
import android.content.ContentResolver
import android.content.Intent
import android.content.SyncStatusObserver
import android.content.pm.ShortcutManager
import android.os.Build
import android.os.Bundle
import android.view.MenuItem
import androidx.appcompat.app.ActionBarDrawerToggle
import androidx.appcompat.app.AppCompatActivity
import androidx.core.content.getSystemService
import androidx.core.view.GravityCompat
import at.bitfire.davdroid.DavUtils
import at.bitfire.davdroid.R
@ -138,6 +141,11 @@ class AccountsActivity: AppCompatActivity(), NavigationView.OnNavigationItemSele
AccountManager.get(this).getAccountsByType(getString(R.string.account_type))
fun syncAllAccounts(item: MenuItem? = null) {
if (Build.VERSION.SDK_INT >= 25)
getSystemService<ShortcutManager>()?.let { shortcutManager ->
shortcutManager.reportShortcutUsed(UiUtils.SHORTCUT_SYNC_ALL)
}
val accounts = allAccounts()
for (account in accounts)
DavUtils.requestSync(this, account)

View file

@ -335,7 +335,7 @@ class DebugInfoActivity: AppCompatActivity() {
// connectivity
context.getSystemService<ConnectivityManager>()?.let { connectivityManager ->
writer.append("<h2>Connectivity</h2><ul>")
val activeNetwork = connectivityManager.activeNetwork
val activeNetwork = if (Build.VERSION.SDK_INT >= 23) connectivityManager.activeNetwork else null
connectivityManager.allNetworks.sortedByDescending { it == activeNetwork }.forEach { network ->
val capabilities = connectivityManager.getNetworkCapabilities(network)!!
writer.append("<li>")

View file

@ -14,26 +14,26 @@ import android.content.pm.ShortcutInfo
import android.content.pm.ShortcutManager
import android.graphics.drawable.Icon
import android.net.Uri
import android.os.Build
import android.widget.Toast
import androidx.core.content.getSystemService
import at.bitfire.davdroid.R
object UiUtils {
private val SHORTCUT_SYNC_ALL = "syncAll"
val SHORTCUT_SYNC_ALL = "syncAllAccounts"
fun updateShortcuts(context: Context) {
context.getSystemService<ShortcutManager>()?.let { shortcutManager ->
shortcutManager.dynamicShortcuts = listOf(
ShortcutInfo.Builder(context, SHORTCUT_SYNC_ALL)
.setIcon(Icon.createWithResource(context, R.drawable.ic_sync_shortcut))
.setShortLabel(context.getString(R.string.accounts_sync_all))
.setIntent(Intent(context, AccountsActivity::class.java).apply {
action = Intent.ACTION_SYNC
})
.build()
)
}
if (Build.VERSION.SDK_INT >= 25)
context.getSystemService<ShortcutManager>()?.let { shortcutManager ->
shortcutManager.dynamicShortcuts = listOf(
ShortcutInfo.Builder(context, SHORTCUT_SYNC_ALL)
.setIcon(Icon.createWithResource(context, R.drawable.ic_sync_shortcut))
.setShortLabel(context.getString(R.string.accounts_sync_all))
.setIntent(Intent(Intent.ACTION_SYNC, null, context, AccountsActivity::class.java))
.build()
)
}
}
/**

6
scripts/sync-compiled.sh Executable file
View file

@ -0,0 +1,6 @@
#!/bin/sh
SOURCE_DIR=~/tmp/davx5
TARGET_DIR=`dirname $0`/../app/target
rsync -arvt $SOURCE_DIR/ $TARGET_DIR/