mirror of
https://github.com/KDE/kdeconnect-android
synced 2025-08-22 09:58:08 +00:00
Use ContextCompat.getSystemService() to retrieve system services without casting.
This commit is contained in:
parent
f4ff5c3c89
commit
52aafe6b8c
@ -37,6 +37,7 @@ import android.text.TextUtils;
|
|||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
import androidx.core.app.NotificationCompat;
|
import androidx.core.app.NotificationCompat;
|
||||||
|
import androidx.core.content.ContextCompat;
|
||||||
|
|
||||||
import org.kde.kdeconnect.Backends.BaseLink;
|
import org.kde.kdeconnect.Backends.BaseLink;
|
||||||
import org.kde.kdeconnect.Backends.BaseLinkProvider;
|
import org.kde.kdeconnect.Backends.BaseLinkProvider;
|
||||||
@ -141,7 +142,7 @@ public class BackgroundService extends Service {
|
|||||||
|
|
||||||
if (NotificationHelper.isPersistentNotificationEnabled(this)) {
|
if (NotificationHelper.isPersistentNotificationEnabled(this)) {
|
||||||
//Update the foreground notification with the currently connected device list
|
//Update the foreground notification with the currently connected device list
|
||||||
NotificationManager nm = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
|
NotificationManager nm = ContextCompat.getSystemService(this, NotificationManager.class);
|
||||||
nm.notify(FOREGROUND_NOTIFICATION_ID, createForegroundNotification());
|
nm.notify(FOREGROUND_NOTIFICATION_ID, createForegroundNotification());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -316,7 +317,7 @@ public class BackgroundService extends Service {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void changePersistentNotificationVisibility(boolean visible) {
|
public void changePersistentNotificationVisibility(boolean visible) {
|
||||||
NotificationManager nm = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
|
NotificationManager nm = ContextCompat.getSystemService(this, NotificationManager.class);
|
||||||
if (visible) {
|
if (visible) {
|
||||||
nm.notify(FOREGROUND_NOTIFICATION_ID, createForegroundNotification());
|
nm.notify(FOREGROUND_NOTIFICATION_ID, createForegroundNotification());
|
||||||
} else {
|
} else {
|
||||||
|
@ -396,7 +396,7 @@ public class Device implements BaseLink.PacketReceiver {
|
|||||||
|
|
||||||
Resources res = getContext().getResources();
|
Resources res = getContext().getResources();
|
||||||
|
|
||||||
final NotificationManager notificationManager = (NotificationManager) getContext().getSystemService(Context.NOTIFICATION_SERVICE);
|
final NotificationManager notificationManager = ContextCompat.getSystemService(getContext(), NotificationManager.class);
|
||||||
|
|
||||||
Notification noti = new NotificationCompat.Builder(getContext(), NotificationHelper.Channels.DEFAULT)
|
Notification noti = new NotificationCompat.Builder(getContext(), NotificationHelper.Channels.DEFAULT)
|
||||||
.setContentTitle(res.getString(R.string.pairing_request_from, getName()))
|
.setContentTitle(res.getString(R.string.pairing_request_from, getName()))
|
||||||
@ -414,7 +414,8 @@ public class Device implements BaseLink.PacketReceiver {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void hidePairingNotification() {
|
public void hidePairingNotification() {
|
||||||
final NotificationManager notificationManager = (NotificationManager) getContext().getSystemService(Context.NOTIFICATION_SERVICE);
|
final NotificationManager notificationManager = ContextCompat.getSystemService(getContext(),
|
||||||
|
NotificationManager.class);
|
||||||
notificationManager.cancel(notificationId);
|
notificationManager.cancel(notificationId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -8,6 +8,8 @@ import android.content.SharedPreferences;
|
|||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.preference.PreferenceManager;
|
import android.preference.PreferenceManager;
|
||||||
|
|
||||||
|
import androidx.core.content.ContextCompat;
|
||||||
|
|
||||||
import org.kde.kdeconnect_tp.R;
|
import org.kde.kdeconnect_tp.R;
|
||||||
|
|
||||||
public class NotificationHelper {
|
public class NotificationHelper {
|
||||||
@ -45,7 +47,7 @@ public class NotificationHelper {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
NotificationManager manager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
|
NotificationManager manager = ContextCompat.getSystemService(context, NotificationManager.class);
|
||||||
|
|
||||||
NotificationChannel persistentChannel = new NotificationChannel(
|
NotificationChannel persistentChannel = new NotificationChannel(
|
||||||
Channels.PERSISTENT,
|
Channels.PERSISTENT,
|
||||||
|
@ -31,6 +31,7 @@ import android.util.Log;
|
|||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
import androidx.annotation.RequiresApi;
|
import androidx.annotation.RequiresApi;
|
||||||
|
import androidx.core.content.ContextCompat;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
@ -48,7 +49,8 @@ public class TelephonyHelper {
|
|||||||
public static List<Integer> getActiveSubscriptionIDs(
|
public static List<Integer> getActiveSubscriptionIDs(
|
||||||
@NonNull Context context)
|
@NonNull Context context)
|
||||||
throws SecurityException {
|
throws SecurityException {
|
||||||
SubscriptionManager subscriptionManager = (SubscriptionManager) context.getSystemService(Context.TELEPHONY_SUBSCRIPTION_SERVICE);
|
SubscriptionManager subscriptionManager = ContextCompat.getSystemService(context,
|
||||||
|
SubscriptionManager.class);
|
||||||
if (subscriptionManager == null) {
|
if (subscriptionManager == null) {
|
||||||
// I don't know why or when this happens...
|
// I don't know why or when this happens...
|
||||||
Log.w(LOGGING_TAG, "Could not get SubscriptionManager");
|
Log.w(LOGGING_TAG, "Could not get SubscriptionManager");
|
||||||
@ -79,7 +81,8 @@ public class TelephonyHelper {
|
|||||||
// See: https://developer.android.com/about/versions/android-5.1.html#multisim
|
// See: https://developer.android.com/about/versions/android-5.1.html#multisim
|
||||||
// There were vendor-specific implmentations before then, but those are very difficult to support
|
// There were vendor-specific implmentations before then, but those are very difficult to support
|
||||||
// S/O Reference: https://stackoverflow.com/a/28571835/3723163
|
// S/O Reference: https://stackoverflow.com/a/28571835/3723163
|
||||||
TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
|
TelephonyManager telephonyManager = ContextCompat.getSystemService(context,
|
||||||
|
TelephonyManager.class);
|
||||||
if (telephonyManager == null) {
|
if (telephonyManager == null) {
|
||||||
// I don't know why or when this happens...
|
// I don't know why or when this happens...
|
||||||
Log.w(LOGGING_TAG, "Could not get TelephonyManager");
|
Log.w(LOGGING_TAG, "Could not get TelephonyManager");
|
||||||
@ -89,7 +92,8 @@ public class TelephonyHelper {
|
|||||||
return Collections.singletonList(phoneNumber);
|
return Collections.singletonList(phoneNumber);
|
||||||
} else {
|
} else {
|
||||||
// Potentially multi-sim case
|
// Potentially multi-sim case
|
||||||
SubscriptionManager subscriptionManager = (SubscriptionManager)context.getSystemService(Context.TELEPHONY_SUBSCRIPTION_SERVICE);
|
SubscriptionManager subscriptionManager = ContextCompat.getSystemService(context,
|
||||||
|
SubscriptionManager.class);
|
||||||
if (subscriptionManager == null) {
|
if (subscriptionManager == null) {
|
||||||
// I don't know why or when this happens...
|
// I don't know why or when this happens...
|
||||||
Log.w(LOGGING_TAG, "Could not get SubscriptionManager");
|
Log.w(LOGGING_TAG, "Could not get SubscriptionManager");
|
||||||
|
@ -1,9 +1,5 @@
|
|||||||
package org.kde.kdeconnect.Helpers;
|
package org.kde.kdeconnect.Helpers;
|
||||||
|
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import android.Manifest;
|
import android.Manifest;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.pm.PackageManager;
|
import android.content.pm.PackageManager;
|
||||||
@ -12,12 +8,12 @@ import android.net.wifi.WifiInfo;
|
|||||||
import android.net.wifi.WifiManager;
|
import android.net.wifi.WifiManager;
|
||||||
import android.preference.PreferenceManager;
|
import android.preference.PreferenceManager;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
import android.util.Log;
|
|
||||||
|
|
||||||
import androidx.core.content.ContextCompat;
|
import androidx.core.content.ContextCompat;
|
||||||
|
|
||||||
import org.kde.kdeconnect.UserInterface.PermissionsAlertDialogFragment;
|
import java.util.Arrays;
|
||||||
import org.kde.kdeconnect_tp.R;
|
import java.util.Collections;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public class TrustedNetworkHelper {
|
public class TrustedNetworkHelper {
|
||||||
|
|
||||||
@ -70,7 +66,8 @@ public class TrustedNetworkHelper {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public String currentSSID() {
|
public String currentSSID() {
|
||||||
WifiManager wifiManager = (WifiManager) context.getApplicationContext().getSystemService(Context.WIFI_SERVICE);
|
WifiManager wifiManager = ContextCompat.getSystemService(context.getApplicationContext(),
|
||||||
|
WifiManager.class);
|
||||||
if (wifiManager == null) return "";
|
if (wifiManager == null) return "";
|
||||||
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
|
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
|
||||||
if (wifiInfo.getSupplicantState() != SupplicantState.COMPLETED) {
|
if (wifiInfo.getSupplicantState() != SupplicantState.COMPLETED) {
|
||||||
|
@ -20,15 +20,15 @@
|
|||||||
|
|
||||||
package org.kde.kdeconnect.Plugins.ClibpoardPlugin;
|
package org.kde.kdeconnect.Plugins.ClibpoardPlugin;
|
||||||
|
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
|
||||||
|
|
||||||
import android.content.ClipData;
|
import android.content.ClipData;
|
||||||
import android.content.ClipboardManager;
|
import android.content.ClipboardManager;
|
||||||
import android.content.Context;
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.view.WindowManager;
|
import android.view.WindowManager;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
import androidx.core.content.ContextCompat;
|
||||||
|
|
||||||
import org.kde.kdeconnect.BackgroundService;
|
import org.kde.kdeconnect.BackgroundService;
|
||||||
import org.kde.kdeconnect.Device;
|
import org.kde.kdeconnect.Device;
|
||||||
import org.kde.kdeconnect_tp.R;
|
import org.kde.kdeconnect_tp.R;
|
||||||
@ -56,7 +56,8 @@ public class ClipboardFloatingActivity extends AppCompatActivity {
|
|||||||
super.onWindowFocusChanged(hasFocus);
|
super.onWindowFocusChanged(hasFocus);
|
||||||
if (hasFocus) {
|
if (hasFocus) {
|
||||||
// We are now sure that clipboard can be accessed from here.
|
// We are now sure that clipboard can be accessed from here.
|
||||||
ClipboardManager clipboardManager = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
|
ClipboardManager clipboardManager = ContextCompat.getSystemService(this,
|
||||||
|
ClipboardManager.class);
|
||||||
ClipData.Item item;
|
ClipData.Item item;
|
||||||
if (clipboardManager.hasPrimaryClip()) {
|
if (clipboardManager.hasPrimaryClip()) {
|
||||||
item = clipboardManager.getPrimaryClip().getItemAt(0);
|
item = clipboardManager.getPrimaryClip().getItemAt(0);
|
||||||
|
@ -28,6 +28,8 @@ import android.os.Build;
|
|||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
import android.os.Looper;
|
import android.os.Looper;
|
||||||
|
|
||||||
|
import androidx.core.content.ContextCompat;
|
||||||
|
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
|
|
||||||
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
|
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
|
||||||
@ -68,7 +70,7 @@ public class ClipboardListener {
|
|||||||
context = ctx;
|
context = ctx;
|
||||||
|
|
||||||
new Handler(Looper.getMainLooper()).post(() -> {
|
new Handler(Looper.getMainLooper()).post(() -> {
|
||||||
cm = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE);
|
cm = ContextCompat.getSystemService(context, ClipboardManager.class);
|
||||||
listener = () -> {
|
listener = () -> {
|
||||||
try {
|
try {
|
||||||
|
|
||||||
|
@ -23,7 +23,6 @@ package org.kde.kdeconnect.Plugins.FindMyPhonePlugin;
|
|||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.app.NotificationManager;
|
import android.app.NotificationManager;
|
||||||
import android.app.PendingIntent;
|
import android.app.PendingIntent;
|
||||||
import android.content.Context;
|
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
||||||
import android.media.AudioManager;
|
import android.media.AudioManager;
|
||||||
@ -37,6 +36,7 @@ import android.util.Log;
|
|||||||
|
|
||||||
import androidx.annotation.RequiresApi;
|
import androidx.annotation.RequiresApi;
|
||||||
import androidx.core.app.NotificationCompat;
|
import androidx.core.app.NotificationCompat;
|
||||||
|
import androidx.core.content.ContextCompat;
|
||||||
|
|
||||||
import org.kde.kdeconnect.Helpers.DeviceHelper;
|
import org.kde.kdeconnect.Helpers.DeviceHelper;
|
||||||
import org.kde.kdeconnect.Helpers.NotificationHelper;
|
import org.kde.kdeconnect.Helpers.NotificationHelper;
|
||||||
@ -81,10 +81,10 @@ public class FindMyPhonePlugin extends Plugin {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onCreate() {
|
public boolean onCreate() {
|
||||||
notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
|
notificationManager = ContextCompat.getSystemService(context, NotificationManager.class);
|
||||||
notificationId = (int) System.currentTimeMillis();
|
notificationId = (int) System.currentTimeMillis();
|
||||||
audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
|
audioManager = ContextCompat.getSystemService(context, AudioManager.class);
|
||||||
powerManager = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
|
powerManager = ContextCompat.getSystemService(context, PowerManager.class);
|
||||||
|
|
||||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
|
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
|
||||||
Uri ringtone;
|
Uri ringtone;
|
||||||
|
@ -20,7 +20,6 @@
|
|||||||
|
|
||||||
package org.kde.kdeconnect.Plugins.MousePadPlugin;
|
package org.kde.kdeconnect.Plugins.MousePadPlugin;
|
||||||
|
|
||||||
import android.content.Context;
|
|
||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
@ -34,11 +33,11 @@ import android.view.MotionEvent;
|
|||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.inputmethod.InputMethodManager;
|
import android.view.inputmethod.InputMethodManager;
|
||||||
|
|
||||||
import org.kde.kdeconnect.BackgroundService;
|
|
||||||
import org.kde.kdeconnect.UserInterface.ThemeUtil;
|
|
||||||
import org.kde.kdeconnect_tp.R;
|
|
||||||
|
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
import androidx.core.content.ContextCompat;
|
||||||
|
|
||||||
|
import org.kde.kdeconnect.BackgroundService;
|
||||||
|
import org.kde.kdeconnect_tp.R;
|
||||||
|
|
||||||
public class MousePadActivity extends AppCompatActivity implements GestureDetector.OnGestureListener, GestureDetector.OnDoubleTapListener, MousePadGestureDetector.OnGestureListener {
|
public class MousePadActivity extends AppCompatActivity implements GestureDetector.OnGestureListener, GestureDetector.OnDoubleTapListener, MousePadGestureDetector.OnGestureListener {
|
||||||
private String deviceId;
|
private String deviceId;
|
||||||
@ -367,7 +366,7 @@ public class MousePadActivity extends AppCompatActivity implements GestureDetect
|
|||||||
|
|
||||||
//TODO: Does not work on KitKat with or without requestFocus()
|
//TODO: Does not work on KitKat with or without requestFocus()
|
||||||
private void showKeyboard() {
|
private void showKeyboard() {
|
||||||
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
|
InputMethodManager imm = ContextCompat.getSystemService(this, InputMethodManager.class);
|
||||||
keyListenerView.requestFocus();
|
keyListenerView.requestFocus();
|
||||||
imm.toggleSoftInputFromWindow(keyListenerView.getWindowToken(), 0, 0);
|
imm.toggleSoftInputFromWindow(keyListenerView.getWindowToken(), 0, 0);
|
||||||
}
|
}
|
||||||
|
@ -47,6 +47,7 @@ import java.security.NoSuchAlgorithmException;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
import androidx.collection.LruCache;
|
import androidx.collection.LruCache;
|
||||||
|
import androidx.core.content.ContextCompat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Handles the cache for album art
|
* Handles the cache for album art
|
||||||
@ -110,7 +111,8 @@ final class AlbumArtCache {
|
|||||||
Log.e("KDE/Mpris/AlbumArtCache", "Could not open the album art disk cache!", e);
|
Log.e("KDE/Mpris/AlbumArtCache", "Could not open the album art disk cache!", e);
|
||||||
}
|
}
|
||||||
|
|
||||||
connectivityManager = (ConnectivityManager) context.getApplicationContext().getSystemService(Context.CONNECTIVITY_SERVICE);
|
connectivityManager = ContextCompat.getSystemService(context.getApplicationContext(),
|
||||||
|
ConnectivityManager.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -48,6 +48,7 @@ import java.util.HashSet;
|
|||||||
import androidx.annotation.RequiresApi;
|
import androidx.annotation.RequiresApi;
|
||||||
import androidx.core.app.NotificationCompat;
|
import androidx.core.app.NotificationCompat;
|
||||||
import androidx.core.app.TaskStackBuilder;
|
import androidx.core.app.TaskStackBuilder;
|
||||||
|
import androidx.core.content.ContextCompat;
|
||||||
import androidx.media.app.NotificationCompat.MediaStyle;
|
import androidx.media.app.NotificationCompat.MediaStyle;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -461,14 +462,14 @@ public class MprisMediaSession implements SharedPreferences.OnSharedPreferenceCh
|
|||||||
|
|
||||||
//Display the notification
|
//Display the notification
|
||||||
mediaSession.setActive(true);
|
mediaSession.setActive(true);
|
||||||
final NotificationManager nm = (NotificationManager) service.getSystemService(Context.NOTIFICATION_SERVICE);
|
final NotificationManager nm = ContextCompat.getSystemService(context, NotificationManager.class);
|
||||||
nm.notify(MPRIS_MEDIA_NOTIFICATION_ID, notification.build());
|
nm.notify(MPRIS_MEDIA_NOTIFICATION_ID, notification.build());
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public void closeMediaNotification() {
|
public void closeMediaNotification() {
|
||||||
//Remove the notification
|
//Remove the notification
|
||||||
NotificationManager nm = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
|
NotificationManager nm = ContextCompat.getSystemService(context, NotificationManager.class);
|
||||||
nm.cancel(MPRIS_MEDIA_NOTIFICATION_ID);
|
nm.cancel(MPRIS_MEDIA_NOTIFICATION_ID);
|
||||||
|
|
||||||
//Clear the current player and media session
|
//Clear the current player and media session
|
||||||
|
@ -21,7 +21,6 @@
|
|||||||
package org.kde.kdeconnect.Plugins.MprisReceiverPlugin;
|
package org.kde.kdeconnect.Plugins.MprisReceiverPlugin;
|
||||||
|
|
||||||
import android.content.ComponentName;
|
import android.content.ComponentName;
|
||||||
import android.content.Context;
|
|
||||||
import android.media.session.MediaController;
|
import android.media.session.MediaController;
|
||||||
import android.media.session.MediaSessionManager;
|
import android.media.session.MediaSessionManager;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
@ -30,6 +29,11 @@ import android.os.Looper;
|
|||||||
import android.provider.Settings;
|
import android.provider.Settings;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
|
import androidx.annotation.RequiresApi;
|
||||||
|
import androidx.core.content.ContextCompat;
|
||||||
|
import androidx.fragment.app.DialogFragment;
|
||||||
|
|
||||||
import org.kde.kdeconnect.Helpers.AppsHelper;
|
import org.kde.kdeconnect.Helpers.AppsHelper;
|
||||||
import org.kde.kdeconnect.NetworkPacket;
|
import org.kde.kdeconnect.NetworkPacket;
|
||||||
import org.kde.kdeconnect.Plugins.NotificationsPlugin.NotificationReceiver;
|
import org.kde.kdeconnect.Plugins.NotificationsPlugin.NotificationReceiver;
|
||||||
@ -42,10 +46,6 @@ import org.kde.kdeconnect_tp.R;
|
|||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import androidx.annotation.Nullable;
|
|
||||||
import androidx.annotation.RequiresApi;
|
|
||||||
import androidx.fragment.app.DialogFragment;
|
|
||||||
|
|
||||||
@PluginFactory.LoadablePlugin
|
@PluginFactory.LoadablePlugin
|
||||||
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP_MR1)
|
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP_MR1)
|
||||||
public class MprisReceiverPlugin extends Plugin {
|
public class MprisReceiverPlugin extends Plugin {
|
||||||
@ -65,7 +65,7 @@ public class MprisReceiverPlugin extends Plugin {
|
|||||||
|
|
||||||
players = new HashMap<>();
|
players = new HashMap<>();
|
||||||
try {
|
try {
|
||||||
MediaSessionManager manager = (MediaSessionManager) context.getSystemService(Context.MEDIA_SESSION_SERVICE);
|
MediaSessionManager manager = ContextCompat.getSystemService(context, MediaSessionManager.class);
|
||||||
if (null == manager)
|
if (null == manager)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
@ -85,7 +85,7 @@ public class MprisReceiverPlugin extends Plugin {
|
|||||||
@Override
|
@Override
|
||||||
public void onDestroy() {
|
public void onDestroy() {
|
||||||
super.onDestroy();
|
super.onDestroy();
|
||||||
MediaSessionManager manager = (MediaSessionManager) context.getSystemService(Context.MEDIA_SESSION_SERVICE);
|
MediaSessionManager manager = ContextCompat.getSystemService(context, MediaSessionManager.class);
|
||||||
if (manager != null && mediaSessionChangeListener != null) {
|
if (manager != null && mediaSessionChangeListener != null) {
|
||||||
manager.removeOnActiveSessionsChangedListener(mediaSessionChangeListener);
|
manager.removeOnActiveSessionsChangedListener(mediaSessionChangeListener);
|
||||||
mediaSessionChangeListener = null;
|
mediaSessionChangeListener = null;
|
||||||
|
@ -24,10 +24,12 @@ import android.app.Activity;
|
|||||||
import android.app.Notification;
|
import android.app.Notification;
|
||||||
import android.app.NotificationManager;
|
import android.app.NotificationManager;
|
||||||
import android.app.PendingIntent;
|
import android.app.PendingIntent;
|
||||||
import android.content.Context;
|
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
|
import androidx.core.app.NotificationCompat;
|
||||||
|
import androidx.core.content.ContextCompat;
|
||||||
|
|
||||||
import org.kde.kdeconnect.Helpers.NotificationHelper;
|
import org.kde.kdeconnect.Helpers.NotificationHelper;
|
||||||
import org.kde.kdeconnect.NetworkPacket;
|
import org.kde.kdeconnect.NetworkPacket;
|
||||||
import org.kde.kdeconnect.Plugins.Plugin;
|
import org.kde.kdeconnect.Plugins.Plugin;
|
||||||
@ -35,8 +37,6 @@ import org.kde.kdeconnect.Plugins.PluginFactory;
|
|||||||
import org.kde.kdeconnect.UserInterface.MainActivity;
|
import org.kde.kdeconnect.UserInterface.MainActivity;
|
||||||
import org.kde.kdeconnect_tp.R;
|
import org.kde.kdeconnect_tp.R;
|
||||||
|
|
||||||
import androidx.core.app.NotificationCompat;
|
|
||||||
|
|
||||||
@PluginFactory.LoadablePlugin
|
@PluginFactory.LoadablePlugin
|
||||||
public class PingPlugin extends Plugin {
|
public class PingPlugin extends Plugin {
|
||||||
|
|
||||||
@ -79,7 +79,7 @@ public class PingPlugin extends Plugin {
|
|||||||
id = 42; //A unique id to create only one notification
|
id = 42; //A unique id to create only one notification
|
||||||
}
|
}
|
||||||
|
|
||||||
NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
|
NotificationManager notificationManager = ContextCompat.getSystemService(context, NotificationManager.class);
|
||||||
|
|
||||||
Notification noti = new NotificationCompat.Builder(context, NotificationHelper.Channels.DEFAULT)
|
Notification noti = new NotificationCompat.Builder(context, NotificationHelper.Channels.DEFAULT)
|
||||||
.setContentTitle(device.getName())
|
.setContentTitle(device.getName())
|
||||||
|
@ -20,7 +20,6 @@
|
|||||||
|
|
||||||
package org.kde.kdeconnect.Plugins.PresenterPlugin;
|
package org.kde.kdeconnect.Plugins.PresenterPlugin;
|
||||||
|
|
||||||
import android.content.Context;
|
|
||||||
import android.hardware.Sensor;
|
import android.hardware.Sensor;
|
||||||
import android.hardware.SensorEvent;
|
import android.hardware.SensorEvent;
|
||||||
import android.hardware.SensorEventListener;
|
import android.hardware.SensorEventListener;
|
||||||
@ -36,12 +35,13 @@ import android.view.MenuItem;
|
|||||||
import android.view.MotionEvent;
|
import android.view.MotionEvent;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
|
||||||
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
import androidx.core.content.ContextCompat;
|
||||||
|
import androidx.media.VolumeProviderCompat;
|
||||||
|
|
||||||
import org.kde.kdeconnect.BackgroundService;
|
import org.kde.kdeconnect.BackgroundService;
|
||||||
import org.kde.kdeconnect_tp.R;
|
import org.kde.kdeconnect_tp.R;
|
||||||
|
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
|
||||||
import androidx.media.VolumeProviderCompat;
|
|
||||||
|
|
||||||
public class PresenterActivity extends AppCompatActivity implements SensorEventListener {
|
public class PresenterActivity extends AppCompatActivity implements SensorEventListener {
|
||||||
|
|
||||||
private MediaSessionCompat mMediaSession;
|
private MediaSessionCompat mMediaSession;
|
||||||
@ -74,7 +74,7 @@ public class PresenterActivity extends AppCompatActivity implements SensorEventL
|
|||||||
if (sensorManager != null) {
|
if (sensorManager != null) {
|
||||||
return; //Already enabled
|
return; //Already enabled
|
||||||
}
|
}
|
||||||
sensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
|
sensorManager = ContextCompat.getSystemService(this, SensorManager.class);
|
||||||
findViewById(R.id.pointer_button).setVisibility(View.VISIBLE);
|
findViewById(R.id.pointer_button).setVisibility(View.VISIBLE);
|
||||||
findViewById(R.id.pointer_button).setOnTouchListener((v, event) -> {
|
findViewById(R.id.pointer_button).setOnTouchListener((v, event) -> {
|
||||||
if(event.getAction() == MotionEvent.ACTION_DOWN){
|
if(event.getAction() == MotionEvent.ACTION_DOWN){
|
||||||
@ -147,7 +147,7 @@ public class PresenterActivity extends AppCompatActivity implements SensorEventL
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (mMediaSession != null) {
|
if (mMediaSession != null) {
|
||||||
PowerManager pm = (PowerManager) this.getSystemService(Context.POWER_SERVICE);
|
PowerManager pm = ContextCompat.getSystemService(this, PowerManager.class);
|
||||||
boolean screenOn;
|
boolean screenOn;
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT_WATCH) {
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT_WATCH) {
|
||||||
screenOn = pm.isInteractive();
|
screenOn = pm.isInteractive();
|
||||||
|
@ -23,12 +23,14 @@ package org.kde.kdeconnect.Plugins.ReceiveNotificationsPlugin;
|
|||||||
import android.app.Notification;
|
import android.app.Notification;
|
||||||
import android.app.NotificationManager;
|
import android.app.NotificationManager;
|
||||||
import android.app.PendingIntent;
|
import android.app.PendingIntent;
|
||||||
import android.content.Context;
|
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.graphics.Bitmap;
|
import android.graphics.Bitmap;
|
||||||
import android.graphics.BitmapFactory;
|
import android.graphics.BitmapFactory;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
|
import androidx.core.app.NotificationCompat;
|
||||||
|
import androidx.core.content.ContextCompat;
|
||||||
|
|
||||||
import org.kde.kdeconnect.Helpers.NotificationHelper;
|
import org.kde.kdeconnect.Helpers.NotificationHelper;
|
||||||
import org.kde.kdeconnect.NetworkPacket;
|
import org.kde.kdeconnect.NetworkPacket;
|
||||||
import org.kde.kdeconnect.Plugins.Plugin;
|
import org.kde.kdeconnect.Plugins.Plugin;
|
||||||
@ -38,8 +40,6 @@ import org.kde.kdeconnect_tp.R;
|
|||||||
|
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
|
|
||||||
import androidx.core.app.NotificationCompat;
|
|
||||||
|
|
||||||
@PluginFactory.LoadablePlugin
|
@PluginFactory.LoadablePlugin
|
||||||
public class ReceiveNotificationsPlugin extends Plugin {
|
public class ReceiveNotificationsPlugin extends Plugin {
|
||||||
|
|
||||||
@ -106,7 +106,7 @@ public class ReceiveNotificationsPlugin extends Plugin {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
|
NotificationManager notificationManager = ContextCompat.getSystemService(context, NotificationManager.class);
|
||||||
|
|
||||||
Notification noti = new NotificationCompat.Builder(context, NotificationHelper.Channels.RECEIVENOTIFICATION)
|
Notification noti = new NotificationCompat.Builder(context, NotificationHelper.Channels.RECEIVENOTIFICATION)
|
||||||
.setContentTitle(np.getString("appName"))
|
.setContentTitle(np.getString("appName"))
|
||||||
|
@ -20,7 +20,6 @@
|
|||||||
|
|
||||||
package org.kde.kdeconnect.Plugins.RemoteKeyboardPlugin;
|
package org.kde.kdeconnect.Plugins.RemoteKeyboardPlugin;
|
||||||
|
|
||||||
import android.content.Context;
|
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.inputmethodservice.InputMethodService;
|
import android.inputmethodservice.InputMethodService;
|
||||||
import android.inputmethodservice.Keyboard;
|
import android.inputmethodservice.Keyboard;
|
||||||
@ -34,8 +33,10 @@ import android.view.inputmethod.EditorInfo;
|
|||||||
import android.view.inputmethod.InputMethodManager;
|
import android.view.inputmethod.InputMethodManager;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
import org.kde.kdeconnect.UserInterface.PluginSettingsActivity;
|
import androidx.core.content.ContextCompat;
|
||||||
|
|
||||||
import org.kde.kdeconnect.UserInterface.MainActivity;
|
import org.kde.kdeconnect.UserInterface.MainActivity;
|
||||||
|
import org.kde.kdeconnect.UserInterface.PluginSettingsActivity;
|
||||||
import org.kde.kdeconnect_tp.R;
|
import org.kde.kdeconnect_tp.R;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@ -189,7 +190,7 @@ public class RemoteKeyboardService
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 2: { // "keyboard"
|
case 2: { // "keyboard"
|
||||||
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
|
InputMethodManager imm = ContextCompat.getSystemService(this, InputMethodManager.class);
|
||||||
imm.showInputMethodPicker();
|
imm.showInputMethodPicker();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -21,8 +21,8 @@
|
|||||||
|
|
||||||
package org.kde.kdeconnect.Plugins.RunCommandPlugin;
|
package org.kde.kdeconnect.Plugins.RunCommandPlugin;
|
||||||
|
|
||||||
|
import android.content.ClipData;
|
||||||
import android.content.ClipboardManager;
|
import android.content.ClipboardManager;
|
||||||
import android.content.Context;
|
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
@ -35,6 +35,11 @@ import android.widget.ListView;
|
|||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
|
import androidx.annotation.RequiresApi;
|
||||||
|
import androidx.appcompat.app.AlertDialog;
|
||||||
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
import androidx.core.content.ContextCompat;
|
||||||
|
|
||||||
import com.google.android.material.floatingactionbutton.FloatingActionButton;
|
import com.google.android.material.floatingactionbutton.FloatingActionButton;
|
||||||
|
|
||||||
import org.json.JSONException;
|
import org.json.JSONException;
|
||||||
@ -46,10 +51,6 @@ import org.kde.kdeconnect_tp.R;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
|
||||||
import androidx.annotation.RequiresApi;
|
|
||||||
import androidx.appcompat.app.AlertDialog;
|
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
|
||||||
|
|
||||||
public class RunCommandActivity extends AppCompatActivity {
|
public class RunCommandActivity extends AppCompatActivity {
|
||||||
|
|
||||||
private String deviceId;
|
private String deviceId;
|
||||||
@ -143,7 +144,7 @@ public class RunCommandActivity extends AppCompatActivity {
|
|||||||
if (item.getItemId() == R.id.copy_url_to_clipboard) {
|
if (item.getItemId() == R.id.copy_url_to_clipboard) {
|
||||||
CommandEntry entry = (CommandEntry) commandItems.get(info.position);
|
CommandEntry entry = (CommandEntry) commandItems.get(info.position);
|
||||||
String url = "kdeconnect://runcommand/" + deviceId + "/" + entry.getKey();
|
String url = "kdeconnect://runcommand/" + deviceId + "/" + entry.getKey();
|
||||||
ClipboardManager cm = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
|
ClipboardManager cm = ContextCompat.getSystemService(this, ClipboardManager.class);
|
||||||
cm.setText(url);
|
cm.setText(url);
|
||||||
Toast toast = Toast.makeText(this, R.string.clipboard_toast, Toast.LENGTH_SHORT);
|
Toast toast = Toast.makeText(this, R.string.clipboard_toast, Toast.LENGTH_SHORT);
|
||||||
toast.show();
|
toast.show();
|
||||||
|
@ -22,12 +22,16 @@ package org.kde.kdeconnect.Plugins.SharePlugin;
|
|||||||
|
|
||||||
import android.app.DownloadManager;
|
import android.app.DownloadManager;
|
||||||
import android.content.ActivityNotFoundException;
|
import android.content.ActivityNotFoundException;
|
||||||
import android.content.Context;
|
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
|
import androidx.annotation.GuardedBy;
|
||||||
|
import androidx.core.content.ContextCompat;
|
||||||
|
import androidx.core.content.FileProvider;
|
||||||
|
import androidx.documentfile.provider.DocumentFile;
|
||||||
|
|
||||||
import org.kde.kdeconnect.Device;
|
import org.kde.kdeconnect.Device;
|
||||||
import org.kde.kdeconnect.Helpers.FilesHelper;
|
import org.kde.kdeconnect.Helpers.FilesHelper;
|
||||||
import org.kde.kdeconnect.Helpers.MediaStoreHelper;
|
import org.kde.kdeconnect.Helpers.MediaStoreHelper;
|
||||||
@ -43,10 +47,6 @@ import java.io.OutputStream;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import androidx.annotation.GuardedBy;
|
|
||||||
import androidx.core.content.FileProvider;
|
|
||||||
import androidx.documentfile.provider.DocumentFile;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A type of {@link BackgroundJob} that reads Files from another device.
|
* A type of {@link BackgroundJob} that reads Files from another device.
|
||||||
*
|
*
|
||||||
@ -330,7 +330,8 @@ public class CompositeReceiveFileJob extends BackgroundJob<Device, Void> {
|
|||||||
private void publishFile(DocumentFile fileDocument, long size) {
|
private void publishFile(DocumentFile fileDocument, long size) {
|
||||||
if (!ShareSettingsFragment.isCustomDestinationEnabled(getDevice().getContext())) {
|
if (!ShareSettingsFragment.isCustomDestinationEnabled(getDevice().getContext())) {
|
||||||
Log.i("SharePlugin", "Adding to downloads");
|
Log.i("SharePlugin", "Adding to downloads");
|
||||||
DownloadManager manager = (DownloadManager) getDevice().getContext().getSystemService(Context.DOWNLOAD_SERVICE);
|
DownloadManager manager = ContextCompat.getSystemService(getDevice().getContext(),
|
||||||
|
DownloadManager.class);
|
||||||
manager.addCompletedDownload(fileDocument.getUri().getLastPathSegment(), getDevice().getName(), true, fileDocument.getType(), fileDocument.getUri().getPath(), size, false);
|
manager.addCompletedDownload(fileDocument.getUri().getLastPathSegment(), getDevice().getName(), true, fileDocument.getType(), fileDocument.getUri().getPath(), size, false);
|
||||||
} else {
|
} else {
|
||||||
//Make sure it is added to the Android Gallery anyway
|
//Make sure it is added to the Android Gallery anyway
|
||||||
|
@ -23,7 +23,6 @@ package org.kde.kdeconnect.Plugins.SharePlugin;
|
|||||||
import android.app.Notification;
|
import android.app.Notification;
|
||||||
import android.app.NotificationManager;
|
import android.app.NotificationManager;
|
||||||
import android.app.PendingIntent;
|
import android.app.PendingIntent;
|
||||||
import android.content.Context;
|
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
||||||
import android.graphics.Bitmap;
|
import android.graphics.Bitmap;
|
||||||
@ -32,6 +31,10 @@ import android.net.Uri;
|
|||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.preference.PreferenceManager;
|
import android.preference.PreferenceManager;
|
||||||
|
|
||||||
|
import androidx.core.app.NotificationCompat;
|
||||||
|
import androidx.core.content.ContextCompat;
|
||||||
|
import androidx.core.content.FileProvider;
|
||||||
|
|
||||||
import org.kde.kdeconnect.Device;
|
import org.kde.kdeconnect.Device;
|
||||||
import org.kde.kdeconnect.Helpers.NotificationHelper;
|
import org.kde.kdeconnect.Helpers.NotificationHelper;
|
||||||
import org.kde.kdeconnect_tp.R;
|
import org.kde.kdeconnect_tp.R;
|
||||||
@ -40,9 +43,6 @@ import java.io.File;
|
|||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
|
|
||||||
import androidx.core.app.NotificationCompat;
|
|
||||||
import androidx.core.content.FileProvider;
|
|
||||||
|
|
||||||
class ReceiveNotification {
|
class ReceiveNotification {
|
||||||
private final NotificationManager notificationManager;
|
private final NotificationManager notificationManager;
|
||||||
private final int notificationId;
|
private final int notificationId;
|
||||||
@ -59,7 +59,7 @@ class ReceiveNotification {
|
|||||||
|
|
||||||
this.jobId = jobId;
|
this.jobId = jobId;
|
||||||
notificationId = (int) System.currentTimeMillis();
|
notificationId = (int) System.currentTimeMillis();
|
||||||
notificationManager = (NotificationManager) device.getContext().getSystemService(Context.NOTIFICATION_SERVICE);
|
notificationManager = ContextCompat.getSystemService(device.getContext(), NotificationManager.class);
|
||||||
builder = new NotificationCompat.Builder(device.getContext(), NotificationHelper.Channels.FILETRANSFER)
|
builder = new NotificationCompat.Builder(device.getContext(), NotificationHelper.Channels.FILETRANSFER)
|
||||||
.setSmallIcon(android.R.drawable.stat_sys_download)
|
.setSmallIcon(android.R.drawable.stat_sys_download)
|
||||||
.setAutoCancel(true)
|
.setAutoCancel(true)
|
||||||
|
@ -23,7 +23,6 @@ package org.kde.kdeconnect.Plugins.SharePlugin;
|
|||||||
import android.Manifest;
|
import android.Manifest;
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.content.ClipboardManager;
|
import android.content.ClipboardManager;
|
||||||
import android.content.Context;
|
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.graphics.drawable.Drawable;
|
import android.graphics.drawable.Drawable;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
@ -33,6 +32,10 @@ import android.os.Looper;
|
|||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
|
import androidx.annotation.WorkerThread;
|
||||||
|
import androidx.core.content.ContextCompat;
|
||||||
|
|
||||||
import org.kde.kdeconnect.Helpers.FilesHelper;
|
import org.kde.kdeconnect.Helpers.FilesHelper;
|
||||||
import org.kde.kdeconnect.Helpers.IntentHelper;
|
import org.kde.kdeconnect.Helpers.IntentHelper;
|
||||||
import org.kde.kdeconnect.NetworkPacket;
|
import org.kde.kdeconnect.NetworkPacket;
|
||||||
@ -46,10 +49,6 @@ import org.kde.kdeconnect_tp.R;
|
|||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
|
||||||
import androidx.annotation.WorkerThread;
|
|
||||||
import androidx.core.content.ContextCompat;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A Plugin for sharing and receiving files and uris.
|
* A Plugin for sharing and receiving files and uris.
|
||||||
* <p>
|
* <p>
|
||||||
@ -176,7 +175,7 @@ public class SharePlugin extends Plugin {
|
|||||||
|
|
||||||
private void receiveText(NetworkPacket np) {
|
private void receiveText(NetworkPacket np) {
|
||||||
String text = np.getString("text");
|
String text = np.getString("text");
|
||||||
ClipboardManager cm = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE);
|
ClipboardManager cm = ContextCompat.getSystemService(context, ClipboardManager.class);
|
||||||
cm.setText(text);
|
cm.setText(text);
|
||||||
handler.post(() -> Toast.makeText(context, R.string.shareplugin_text_saved, Toast.LENGTH_LONG).show());
|
handler.post(() -> Toast.makeText(context, R.string.shareplugin_text_saved, Toast.LENGTH_LONG).show());
|
||||||
}
|
}
|
||||||
|
@ -23,17 +23,17 @@ package org.kde.kdeconnect.Plugins.SharePlugin;
|
|||||||
import android.app.Notification;
|
import android.app.Notification;
|
||||||
import android.app.NotificationManager;
|
import android.app.NotificationManager;
|
||||||
import android.app.PendingIntent;
|
import android.app.PendingIntent;
|
||||||
import android.content.Context;
|
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
||||||
|
|
||||||
|
import androidx.core.app.NotificationCompat;
|
||||||
|
import androidx.core.content.ContextCompat;
|
||||||
|
import androidx.preference.PreferenceManager;
|
||||||
|
|
||||||
import org.kde.kdeconnect.Device;
|
import org.kde.kdeconnect.Device;
|
||||||
import org.kde.kdeconnect.Helpers.NotificationHelper;
|
import org.kde.kdeconnect.Helpers.NotificationHelper;
|
||||||
import org.kde.kdeconnect_tp.R;
|
import org.kde.kdeconnect_tp.R;
|
||||||
|
|
||||||
import androidx.core.app.NotificationCompat;
|
|
||||||
import androidx.preference.PreferenceManager;
|
|
||||||
|
|
||||||
class UploadNotification {
|
class UploadNotification {
|
||||||
private final NotificationManager notificationManager;
|
private final NotificationManager notificationManager;
|
||||||
private NotificationCompat.Builder builder;
|
private NotificationCompat.Builder builder;
|
||||||
@ -46,7 +46,7 @@ class UploadNotification {
|
|||||||
this.jobId = jobId;
|
this.jobId = jobId;
|
||||||
|
|
||||||
notificationId = (int) System.currentTimeMillis();
|
notificationId = (int) System.currentTimeMillis();
|
||||||
notificationManager = (NotificationManager) device.getContext().getSystemService(Context.NOTIFICATION_SERVICE);
|
notificationManager = ContextCompat.getSystemService(device.getContext(), NotificationManager.class);
|
||||||
builder = new NotificationCompat.Builder(device.getContext(), NotificationHelper.Channels.FILETRANSFER)
|
builder = new NotificationCompat.Builder(device.getContext(), NotificationHelper.Channels.FILETRANSFER)
|
||||||
.setSmallIcon(android.R.drawable.stat_sys_upload)
|
.setSmallIcon(android.R.drawable.stat_sys_upload)
|
||||||
.setAutoCancel(true)
|
.setAutoCancel(true)
|
||||||
|
@ -227,7 +227,7 @@ public class TelephonyPlugin extends Plugin {
|
|||||||
|
|
||||||
private void unmuteRinger() {
|
private void unmuteRinger() {
|
||||||
if (isMuted) {
|
if (isMuted) {
|
||||||
AudioManager am = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
|
AudioManager am = ContextCompat.getSystemService(context, AudioManager.class);
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||||
am.setStreamVolume(AudioManager.STREAM_RING, AudioManager.ADJUST_UNMUTE, 0);
|
am.setStreamVolume(AudioManager.STREAM_RING, AudioManager.ADJUST_UNMUTE, 0);
|
||||||
} else {
|
} else {
|
||||||
@ -239,7 +239,7 @@ public class TelephonyPlugin extends Plugin {
|
|||||||
|
|
||||||
private void muteRinger() {
|
private void muteRinger() {
|
||||||
if (!isMuted) {
|
if (!isMuted) {
|
||||||
AudioManager am = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
|
AudioManager am = ContextCompat.getSystemService(context, AudioManager.class);
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||||
am.setStreamVolume(AudioManager.STREAM_RING, AudioManager.ADJUST_MUTE, 0);
|
am.setStreamVolume(AudioManager.STREAM_RING, AudioManager.ADJUST_MUTE, 0);
|
||||||
} else {
|
} else {
|
||||||
|
@ -27,6 +27,7 @@ import android.view.ViewGroup;
|
|||||||
import android.widget.ArrayAdapter;
|
import android.widget.ArrayAdapter;
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
|
import androidx.core.content.ContextCompat;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
@ -43,7 +44,7 @@ public class ListAdapter extends ArrayAdapter<ListAdapter.Item> {
|
|||||||
public ListAdapter(Context context, ArrayList<Item> items) {
|
public ListAdapter(Context context, ArrayList<Item> items) {
|
||||||
super(context, 0, items);
|
super(context, 0, items);
|
||||||
this.items = items;
|
this.items = items;
|
||||||
layoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
|
layoutInflater = ContextCompat.getSystemService(context, LayoutInflater.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
@NonNull
|
@NonNull
|
||||||
|
@ -42,6 +42,7 @@ import android.widget.ListView;
|
|||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
|
import androidx.core.content.ContextCompat;
|
||||||
import androidx.fragment.app.Fragment;
|
import androidx.fragment.app.Fragment;
|
||||||
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
|
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
|
||||||
|
|
||||||
@ -123,7 +124,8 @@ public class PairingFragment extends Fragment implements PairingDeviceItem.Callb
|
|||||||
updateDeviceList();
|
updateDeviceList();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
ConnectivityManager connManager = (ConnectivityManager) getContext().getSystemService(Context.CONNECTIVITY_SERVICE);
|
ConnectivityManager connManager = ContextCompat.getSystemService(requireContext(),
|
||||||
|
ConnectivityManager.class);
|
||||||
connManager.registerNetworkCallback(new NetworkRequest.Builder().build(), (ConnectivityManager.NetworkCallback) networkChangeListener);
|
connManager.registerNetworkCallback(new NetworkRequest.Builder().build(), (ConnectivityManager.NetworkCallback) networkChangeListener);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -133,7 +135,8 @@ public class PairingFragment extends Fragment implements PairingDeviceItem.Callb
|
|||||||
@Override
|
@Override
|
||||||
public void onDestroyView() {
|
public void onDestroyView() {
|
||||||
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
|
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
|
||||||
ConnectivityManager connManager = (ConnectivityManager) getContext().getSystemService(Context.CONNECTIVITY_SERVICE);
|
ConnectivityManager connManager = ContextCompat.getSystemService(requireContext(),
|
||||||
|
ConnectivityManager.class);
|
||||||
connManager.unregisterNetworkCallback((ConnectivityManager.NetworkCallback) networkChangeListener);
|
connManager.unregisterNetworkCallback((ConnectivityManager.NetworkCallback) networkChangeListener);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -186,7 +189,8 @@ public class PairingFragment extends Fragment implements PairingDeviceItem.Callb
|
|||||||
((ListView) rootView.findViewById(R.id.devices_list)).removeHeaderView(headerText);
|
((ListView) rootView.findViewById(R.id.devices_list)).removeHeaderView(headerText);
|
||||||
((ListView) rootView.findViewById(R.id.devices_list)).removeHeaderView(noWifiHeader);
|
((ListView) rootView.findViewById(R.id.devices_list)).removeHeaderView(noWifiHeader);
|
||||||
((ListView) rootView.findViewById(R.id.devices_list)).removeHeaderView(notTrustedText);
|
((ListView) rootView.findViewById(R.id.devices_list)).removeHeaderView(notTrustedText);
|
||||||
ConnectivityManager connManager = (ConnectivityManager) getContext().getSystemService(Context.CONNECTIVITY_SERVICE);
|
ConnectivityManager connManager = ContextCompat.getSystemService(requireContext(),
|
||||||
|
ConnectivityManager.class);
|
||||||
NetworkInfo wifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
|
NetworkInfo wifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
|
||||||
//Check if we're on Wi-Fi. If we still see a device, don't do anything special
|
//Check if we're on Wi-Fi. If we still see a device, don't do anything special
|
||||||
if (someDevicesReachable || wifi.isConnected()) {
|
if (someDevicesReachable || wifi.isConnected()) {
|
||||||
|
@ -27,6 +27,8 @@ import android.preference.PreferenceManager;
|
|||||||
import android.util.Base64;
|
import android.util.Base64;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
|
import androidx.core.content.ContextCompat;
|
||||||
|
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
@ -111,7 +113,7 @@ public class DeviceTest {
|
|||||||
PowerMockito.when(PreferenceManager.getDefaultSharedPreferences(any())).thenReturn(defaultSettings);
|
PowerMockito.when(PreferenceManager.getDefaultSharedPreferences(any())).thenReturn(defaultSettings);
|
||||||
RsaHelper.initialiseRsaKeys(context);
|
RsaHelper.initialiseRsaKeys(context);
|
||||||
|
|
||||||
Mockito.when(context.getSystemService(eq(Context.NOTIFICATION_SERVICE))).thenReturn(Mockito.mock(NotificationManager.class));
|
Mockito.when(ContextCompat.getSystemService(context, NotificationManager.class)).thenReturn(Mockito.mock(NotificationManager.class));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
Loading…
x
Reference in New Issue
Block a user