mirror of
https://codeberg.org/Freeyourgadget/Gadgetbridge
synced 2024-09-01 03:55:47 +02:00
Bump targetSdkVersion to 34
This commit is contained in:
parent
c31f4ce89f
commit
fad092b6f8
@ -74,8 +74,8 @@ android {
|
||||
applicationId "nodomain.freeyourgadget.gadgetbridge"
|
||||
|
||||
//noinspection OldTargetApi
|
||||
targetSdkVersion 33
|
||||
compileSdk 33
|
||||
targetSdkVersion 34
|
||||
compileSdk 34
|
||||
minSdkVersion 21
|
||||
|
||||
// Note: always bump BOTH versionCode and versionName!
|
||||
@ -114,7 +114,7 @@ android {
|
||||
applicationIdSuffix ".banglejs"
|
||||
versionNameSuffix "-banglejs"
|
||||
buildConfigField "boolean", "INTERNET_ACCESS", "true"
|
||||
targetSdkVersion 33
|
||||
targetSdkVersion 34
|
||||
// Note: app/src/banglejs/AndroidManifest.xml contains some extra permissions
|
||||
}
|
||||
}
|
||||
|
@ -59,6 +59,8 @@
|
||||
<!-- Used for background service -->
|
||||
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
|
||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
|
||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_CONNECTED_DEVICE" />
|
||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_SPECIAL_USE" />
|
||||
<uses-permission android:name="android.permission.REQUEST_COMPANION_RUN_IN_BACKGROUND" />
|
||||
|
||||
<!-- Used for reverse find device -->
|
||||
@ -455,22 +457,35 @@
|
||||
android:name=".externalevents.NotificationListener"
|
||||
android:label="@string/app_name"
|
||||
android:permission="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE"
|
||||
android:exported="false">
|
||||
android:exported="false"
|
||||
android:foregroundServiceType="specialUse">
|
||||
<property
|
||||
android:name="android.app.PROPERTY_SPECIAL_USE_FGS_SUBTYPE"
|
||||
android:value="Bind to notification listener for capturing and forwarding notifications" />
|
||||
<intent-filter>
|
||||
<action android:name="android.service.notification.NotificationListenerService" />
|
||||
</intent-filter>
|
||||
</service>
|
||||
<service android:name=".service.NotificationCollectorMonitorService" />
|
||||
<service android:name=".service.DeviceCommunicationService" />
|
||||
<service
|
||||
android:name=".service.NotificationCollectorMonitorService"
|
||||
android:foregroundServiceType="specialUse">
|
||||
<property
|
||||
android:name="android.app.PROPERTY_SPECIAL_USE_FGS_SUBTYPE"
|
||||
android:value="Service for capturing and forwarding notifications" />
|
||||
</service>
|
||||
<service
|
||||
android:name=".service.DeviceCommunicationService"
|
||||
android:foregroundServiceType="connectedDevice" />
|
||||
<service
|
||||
android:name=".devices.pinetime.PineTimeDFUService"
|
||||
android:label="PineTime Nordic DFU service" />
|
||||
android:label="PineTime Nordic DFU service"
|
||||
android:foregroundServiceType="connectedDevice" />
|
||||
|
||||
<service
|
||||
android:name=".service.btle.BLEScanService"
|
||||
android:enabled="true"
|
||||
android:exported="false">
|
||||
</service>
|
||||
android:exported="false"
|
||||
android:foregroundServiceType="connectedDevice" />
|
||||
|
||||
<receiver
|
||||
android:name=".externalevents.GenericWeatherReceiver"
|
||||
|
@ -26,6 +26,7 @@ import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.core.content.ContextCompat;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
@ -51,7 +52,6 @@ import nodomain.freeyourgadget.gadgetbridge.entities.Device;
|
||||
import nodomain.freeyourgadget.gadgetbridge.entities.User;
|
||||
import nodomain.freeyourgadget.gadgetbridge.entities.WorldClock;
|
||||
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
|
||||
import nodomain.freeyourgadget.gadgetbridge.util.DeviceHelper;
|
||||
import nodomain.freeyourgadget.gadgetbridge.util.StringUtils;
|
||||
|
||||
|
||||
@ -133,7 +133,7 @@ public class ConfigureWorldClocks extends AbstractGBActivity {
|
||||
}
|
||||
};
|
||||
|
||||
registerReceiver(timeTickBroadcastReceiver, new IntentFilter(Intent.ACTION_TIME_TICK));
|
||||
ContextCompat.registerReceiver(this, timeTickBroadcastReceiver, new IntentFilter(Intent.ACTION_TIME_TICK), ContextCompat.RECEIVER_EXPORTED);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -71,6 +71,7 @@ import androidx.core.app.ActivityCompat;
|
||||
import androidx.core.app.NavUtils;
|
||||
import androidx.core.app.NotificationCompat;
|
||||
import androidx.core.app.RemoteInput;
|
||||
import androidx.core.content.ContextCompat;
|
||||
import androidx.core.content.FileProvider;
|
||||
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
|
||||
|
||||
@ -181,7 +182,7 @@ public class DebugActivity extends AbstractGBActivity {
|
||||
filter.addAction(ACTION_REPLY);
|
||||
filter.addAction(DeviceService.ACTION_REALTIME_SAMPLES);
|
||||
LocalBroadcastManager.getInstance(this).registerReceiver(mReceiver, filter);
|
||||
registerReceiver(mReceiver, filter); // for ACTION_REPLY
|
||||
ContextCompat.registerReceiver(this, mReceiver, filter, ContextCompat.RECEIVER_EXPORTED); // for ACTION_REPLY
|
||||
|
||||
editContent = findViewById(R.id.editContent);
|
||||
|
||||
|
@ -95,7 +95,6 @@ public class HeartRateDialog extends Dialog {
|
||||
IntentFilter filter = new IntentFilter();
|
||||
filter.addAction(DeviceService.ACTION_REALTIME_SAMPLES);
|
||||
LocalBroadcastManager.getInstance(getContext()).registerReceiver(mReceiver, filter);
|
||||
getContext().registerReceiver(mReceiver, filter);
|
||||
|
||||
setContentView(R.layout.heart_rate_dialog);
|
||||
heart_rate_dialog_results_layout = findViewById(R.id.heart_rate_dialog_results_layout);
|
||||
|
@ -63,6 +63,7 @@ import androidx.annotation.Nullable;
|
||||
import androidx.annotation.RequiresApi;
|
||||
import androidx.annotation.RequiresPermission;
|
||||
import androidx.core.app.ActivityCompat;
|
||||
import androidx.core.content.ContextCompat;
|
||||
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
|
||||
|
||||
@ -785,7 +786,7 @@ public class DiscoveryActivityV2 extends AbstractGBActivity implements AdapterVi
|
||||
bluetoothIntents.addAction(BluetoothAdapter.ACTION_DISCOVERY_STARTED);
|
||||
bluetoothIntents.addAction(BluetoothAdapter.ACTION_STATE_CHANGED);
|
||||
|
||||
registerReceiver(bluetoothReceiver, bluetoothIntents);
|
||||
ContextCompat.registerReceiver(this, bluetoothReceiver, bluetoothIntents, ContextCompat.RECEIVER_EXPORTED);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -23,6 +23,9 @@ import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.IntentFilter;
|
||||
|
||||
import androidx.core.content.ContextCompat;
|
||||
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
@ -33,8 +36,6 @@ import java.util.Comparator;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
|
||||
import nodomain.freeyourgadget.gadgetbridge.GBApplication;
|
||||
import nodomain.freeyourgadget.gadgetbridge.database.DBHandler;
|
||||
import nodomain.freeyourgadget.gadgetbridge.database.DBHelper;
|
||||
@ -120,7 +121,7 @@ public class DeviceManager {
|
||||
filterGlobal.addAction(BluetoothDevice.ACTION_NAME_CHANGED);
|
||||
filterGlobal.addAction(BLUETOOTH_DEVICE_ACTION_ALIAS_CHANGED);
|
||||
filterGlobal.addAction(BluetoothDevice.ACTION_BOND_STATE_CHANGED);
|
||||
context.registerReceiver(mReceiver, filterGlobal);
|
||||
ContextCompat.registerReceiver(context, mReceiver, filterGlobal, ContextCompat.RECEIVER_EXPORTED);
|
||||
|
||||
refreshPairedDevices();
|
||||
}
|
||||
|
@ -31,6 +31,7 @@ import android.os.Bundle;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import androidx.core.content.ContextCompat;
|
||||
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
|
||||
|
||||
import org.apache.commons.lang3.RandomStringUtils;
|
||||
@ -238,7 +239,7 @@ public class MiBandPairingActivity extends AbstractGBActivity implements Bonding
|
||||
|
||||
public void registerBroadcastReceivers() {
|
||||
LocalBroadcastManager.getInstance(this).registerReceiver(pairingReceiver, new IntentFilter(GBDevice.ACTION_DEVICE_CHANGED));
|
||||
registerReceiver(bondingReceiver, new IntentFilter(BluetoothDevice.ACTION_BOND_STATE_CHANGED));
|
||||
ContextCompat.registerReceiver(this, bondingReceiver, new IntentFilter(BluetoothDevice.ACTION_BOND_STATE_CHANGED), ContextCompat.RECEIVER_EXPORTED);
|
||||
}
|
||||
|
||||
public Context getContext() {
|
||||
|
@ -35,9 +35,11 @@ import android.content.Intent;
|
||||
import android.content.IntentFilter;
|
||||
import android.content.SharedPreferences;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.content.pm.ServiceInfo;
|
||||
import android.location.Location;
|
||||
import android.media.AudioManager;
|
||||
import android.net.Uri;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.os.IBinder;
|
||||
@ -65,7 +67,6 @@ import nodomain.freeyourgadget.gadgetbridge.activities.HeartRateUtils;
|
||||
import nodomain.freeyourgadget.gadgetbridge.capabilities.loyaltycards.LoyaltyCard;
|
||||
import nodomain.freeyourgadget.gadgetbridge.deviceevents.GBDeviceEventCameraRemote;
|
||||
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
|
||||
import nodomain.freeyourgadget.gadgetbridge.devices.huawei.packets.CameraRemote;
|
||||
import nodomain.freeyourgadget.gadgetbridge.externalevents.AlarmClockReceiver;
|
||||
import nodomain.freeyourgadget.gadgetbridge.externalevents.AlarmReceiver;
|
||||
import nodomain.freeyourgadget.gadgetbridge.externalevents.BluetoothConnectReceiver;
|
||||
@ -108,8 +109,8 @@ import nodomain.freeyourgadget.gadgetbridge.service.receivers.GBAutoFetchReceive
|
||||
import nodomain.freeyourgadget.gadgetbridge.util.EmojiConverter;
|
||||
import nodomain.freeyourgadget.gadgetbridge.util.GB;
|
||||
import nodomain.freeyourgadget.gadgetbridge.util.GBPrefs;
|
||||
import nodomain.freeyourgadget.gadgetbridge.util.language.LanguageUtils;
|
||||
import nodomain.freeyourgadget.gadgetbridge.util.Prefs;
|
||||
import nodomain.freeyourgadget.gadgetbridge.util.language.LanguageUtils;
|
||||
import nodomain.freeyourgadget.gadgetbridge.util.language.Transliterator;
|
||||
|
||||
public class DeviceCommunicationService extends Service implements SharedPreferences.OnSharedPreferenceChangeListener {
|
||||
@ -501,20 +502,20 @@ public class DeviceCommunicationService extends Service implements SharedPrefere
|
||||
|
||||
private void registerExternalReceivers(){
|
||||
mBlueToothConnectReceiver = new BluetoothConnectReceiver(this);
|
||||
registerReceiver(mBlueToothConnectReceiver, new IntentFilter(BluetoothDevice.ACTION_ACL_CONNECTED));
|
||||
ContextCompat.registerReceiver(this, mBlueToothConnectReceiver, new IntentFilter(BluetoothDevice.ACTION_ACL_CONNECTED), ContextCompat.RECEIVER_EXPORTED);
|
||||
|
||||
mAutoConnectInvervalReceiver= new AutoConnectIntervalReceiver(this);
|
||||
registerReceiver(mAutoConnectInvervalReceiver, new IntentFilter("GB_RECONNECT"));
|
||||
ContextCompat.registerReceiver(this, mAutoConnectInvervalReceiver, new IntentFilter("GB_RECONNECT"), ContextCompat.RECEIVER_EXPORTED);
|
||||
|
||||
IntentFilter bluetoothCommandFilter = new IntentFilter();
|
||||
bluetoothCommandFilter.addAction(COMMAND_BLUETOOTH_CONNECT);
|
||||
registerReceiver(bluetoothCommandReceiver, bluetoothCommandFilter);
|
||||
ContextCompat.registerReceiver(this, bluetoothCommandReceiver, bluetoothCommandFilter, ContextCompat.RECEIVER_EXPORTED);
|
||||
|
||||
final IntentFilter deviceSettingsIntentFilter = new IntentFilter();
|
||||
deviceSettingsIntentFilter.addAction(DeviceSettingsReceiver.COMMAND);
|
||||
registerReceiver(deviceSettingsReceiver, deviceSettingsIntentFilter);
|
||||
ContextCompat.registerReceiver(this, deviceSettingsReceiver, deviceSettingsIntentFilter, ContextCompat.RECEIVER_EXPORTED);
|
||||
|
||||
registerReceiver(intentApiReceiver, intentApiReceiver.buildFilter());
|
||||
ContextCompat.registerReceiver(this, intentApiReceiver, intentApiReceiver.buildFilter(), ContextCompat.RECEIVER_EXPORTED);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -1204,7 +1205,11 @@ public class DeviceCommunicationService extends Service implements SharedPrefere
|
||||
|
||||
private void startForeground() {
|
||||
GB.createNotificationChannels(this);
|
||||
startForeground(GB.NOTIFICATION_ID, GB.createNotification(getString(R.string.gadgetbridge_running), this));
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
|
||||
startForeground(GB.NOTIFICATION_ID, GB.createNotification(getString(R.string.gadgetbridge_running), this), ServiceInfo.FOREGROUND_SERVICE_TYPE_CONNECTED_DEVICE);
|
||||
} else {
|
||||
startForeground(GB.NOTIFICATION_ID, GB.createNotification(getString(R.string.gadgetbridge_running), this));
|
||||
}
|
||||
}
|
||||
|
||||
private boolean isDeviceConnected(GBDevice device) {
|
||||
@ -1289,16 +1294,16 @@ public class DeviceCommunicationService extends Service implements SharedPrefere
|
||||
calendarIntentFilter.addDataScheme("content");
|
||||
calendarIntentFilter.addDataAuthority("com.android.calendar", null);
|
||||
CalendarReceiver receiver = new CalendarReceiver(deviceWithCalendar);
|
||||
registerReceiver(receiver, calendarIntentFilter);
|
||||
ContextCompat.registerReceiver(this, receiver, calendarIntentFilter, ContextCompat.RECEIVER_EXPORTED);
|
||||
mCalendarReceiver.add(receiver);
|
||||
// Add a receiver to allow us to quickly force as calendar sync (without having to provide data)
|
||||
registerReceiver(receiver, new IntentFilter("FORCE_CALENDAR_SYNC"));
|
||||
ContextCompat.registerReceiver(this, receiver, new IntentFilter("FORCE_CALENDAR_SYNC"), ContextCompat.RECEIVER_EXPORTED);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (mAlarmReceiver == null) {
|
||||
mAlarmReceiver = new AlarmReceiver();
|
||||
registerReceiver(mAlarmReceiver, new IntentFilter("DAILY_ALARM"));
|
||||
ContextCompat.registerReceiver(this, mAlarmReceiver, new IntentFilter("DAILY_ALARM"), ContextCompat.RECEIVER_EXPORTED);
|
||||
}
|
||||
} else {
|
||||
for (CalendarReceiver registeredReceiver: mCalendarReceiver){
|
||||
@ -1318,15 +1323,15 @@ public class DeviceCommunicationService extends Service implements SharedPrefere
|
||||
filter.addAction("android.intent.action.PHONE_STATE");
|
||||
filter.addAction("android.intent.action.NEW_OUTGOING_CALL");
|
||||
filter.addAction("nodomain.freeyourgadget.gadgetbridge.MUTE_CALL");
|
||||
registerReceiver(mPhoneCallReceiver, filter);
|
||||
ContextCompat.registerReceiver(this, mPhoneCallReceiver, filter, ContextCompat.RECEIVER_EXPORTED);
|
||||
}
|
||||
if (mSMSReceiver == null) {
|
||||
mSMSReceiver = new SMSReceiver();
|
||||
registerReceiver(mSMSReceiver, new IntentFilter("android.provider.Telephony.SMS_RECEIVED"));
|
||||
ContextCompat.registerReceiver(this, mSMSReceiver, new IntentFilter("android.provider.Telephony.SMS_RECEIVED"), ContextCompat.RECEIVER_EXPORTED);
|
||||
}
|
||||
if (mPebbleReceiver == null) {
|
||||
mPebbleReceiver = new PebbleReceiver();
|
||||
registerReceiver(mPebbleReceiver, new IntentFilter("com.getpebble.action.SEND_NOTIFICATION"));
|
||||
ContextCompat.registerReceiver(this, mPebbleReceiver, new IntentFilter("com.getpebble.action.SEND_NOTIFICATION"), ContextCompat.RECEIVER_EXPORTED);
|
||||
}
|
||||
if (mMusicPlaybackReceiver == null && features.supportsMusicInfo()) {
|
||||
mMusicPlaybackReceiver = new MusicPlaybackReceiver();
|
||||
@ -1334,7 +1339,7 @@ public class DeviceCommunicationService extends Service implements SharedPrefere
|
||||
for (String action : mMusicActions) {
|
||||
filter.addAction(action);
|
||||
}
|
||||
registerReceiver(mMusicPlaybackReceiver, filter);
|
||||
ContextCompat.registerReceiver(this, mMusicPlaybackReceiver, filter, ContextCompat.RECEIVER_EXPORTED);
|
||||
}
|
||||
if (mTimeChangeReceiver == null) {
|
||||
mTimeChangeReceiver = new TimeChangeReceiver();
|
||||
@ -1342,14 +1347,14 @@ public class DeviceCommunicationService extends Service implements SharedPrefere
|
||||
filter.addAction("android.intent.action.TIME_SET");
|
||||
filter.addAction("android.intent.action.TIMEZONE_CHANGED");
|
||||
filter.addAction(TimeChangeReceiver.ACTION_DST_CHANGED_OR_PERIODIC_SYNC);
|
||||
registerReceiver(mTimeChangeReceiver, filter);
|
||||
ContextCompat.registerReceiver(this, mTimeChangeReceiver, filter, ContextCompat.RECEIVER_EXPORTED);
|
||||
// Ensure alarm is scheduled after registering broadcast receiver
|
||||
// (this is important in case receiver was unregistered when the previous alarm arrived).
|
||||
TimeChangeReceiver.ifEnabledScheduleNextDstChangeOrPeriodicSync(this);
|
||||
}
|
||||
if (mBlueToothPairingRequestReceiver == null) {
|
||||
mBlueToothPairingRequestReceiver = new BluetoothPairingRequestReceiver(this);
|
||||
registerReceiver(mBlueToothPairingRequestReceiver, new IntentFilter(BluetoothDevice.ACTION_PAIRING_REQUEST));
|
||||
ContextCompat.registerReceiver(this, mBlueToothPairingRequestReceiver, new IntentFilter(BluetoothDevice.ACTION_PAIRING_REQUEST), ContextCompat.RECEIVER_EXPORTED);
|
||||
}
|
||||
if (mAlarmClockReceiver == null) {
|
||||
mAlarmClockReceiver = new AlarmClockReceiver();
|
||||
@ -1358,14 +1363,14 @@ public class DeviceCommunicationService extends Service implements SharedPrefere
|
||||
filter.addAction(AlarmClockReceiver.ALARM_DONE_ACTION);
|
||||
filter.addAction(AlarmClockReceiver.GOOGLE_CLOCK_ALARM_ALERT_ACTION);
|
||||
filter.addAction(AlarmClockReceiver.GOOGLE_CLOCK_ALARM_DONE_ACTION);
|
||||
registerReceiver(mAlarmClockReceiver, filter);
|
||||
ContextCompat.registerReceiver(this, mAlarmClockReceiver, filter, ContextCompat.RECEIVER_EXPORTED);
|
||||
}
|
||||
|
||||
if (mSilentModeReceiver == null) {
|
||||
mSilentModeReceiver = new SilentModeReceiver();
|
||||
IntentFilter filter = new IntentFilter();
|
||||
filter.addAction(AudioManager.RINGER_MODE_CHANGED_ACTION);
|
||||
registerReceiver(mSilentModeReceiver, filter);
|
||||
ContextCompat.registerReceiver(this, mSilentModeReceiver, filter, ContextCompat.RECEIVER_EXPORTED);
|
||||
}
|
||||
|
||||
if (locationService == null) {
|
||||
@ -1382,21 +1387,21 @@ public class DeviceCommunicationService extends Service implements SharedPrefere
|
||||
if (GBApplication.isRunningOreoOrLater()) {
|
||||
if (mLineageOsWeatherReceiver == null) {
|
||||
mLineageOsWeatherReceiver = new LineageOsWeatherReceiver();
|
||||
registerReceiver(mLineageOsWeatherReceiver, new IntentFilter("GB_UPDATE_WEATHER"));
|
||||
ContextCompat.registerReceiver(this, mLineageOsWeatherReceiver, new IntentFilter("GB_UPDATE_WEATHER"), ContextCompat.RECEIVER_EXPORTED);
|
||||
}
|
||||
} else {
|
||||
if (mCMWeatherReceiver == null) {
|
||||
mCMWeatherReceiver = new CMWeatherReceiver();
|
||||
registerReceiver(mCMWeatherReceiver, new IntentFilter("GB_UPDATE_WEATHER"));
|
||||
ContextCompat.registerReceiver(this, mCMWeatherReceiver, new IntentFilter("GB_UPDATE_WEATHER"), ContextCompat.RECEIVER_EXPORTED);
|
||||
}
|
||||
}
|
||||
if (mTinyWeatherForecastGermanyReceiver == null) {
|
||||
mTinyWeatherForecastGermanyReceiver = new TinyWeatherForecastGermanyReceiver();
|
||||
registerReceiver(mTinyWeatherForecastGermanyReceiver, new IntentFilter("de.kaffeemitkoffein.broadcast.WEATHERDATA"));
|
||||
ContextCompat.registerReceiver(this, mTinyWeatherForecastGermanyReceiver, new IntentFilter("de.kaffeemitkoffein.broadcast.WEATHERDATA"), ContextCompat.RECEIVER_EXPORTED);
|
||||
}
|
||||
if (mGenericWeatherReceiver == null) {
|
||||
mGenericWeatherReceiver = new GenericWeatherReceiver();
|
||||
registerReceiver(mGenericWeatherReceiver, new IntentFilter(GenericWeatherReceiver.ACTION_GENERIC_WEATHER));
|
||||
ContextCompat.registerReceiver(this, mGenericWeatherReceiver, new IntentFilter(GenericWeatherReceiver.ACTION_GENERIC_WEATHER), ContextCompat.RECEIVER_EXPORTED);
|
||||
}
|
||||
if (mOmniJawsObserver == null) {
|
||||
try {
|
||||
@ -1412,14 +1417,14 @@ public class DeviceCommunicationService extends Service implements SharedPrefere
|
||||
{
|
||||
if (mSleepAsAndroidReceiver == null) {
|
||||
mSleepAsAndroidReceiver = new SleepAsAndroidReceiver();
|
||||
registerReceiver(mSleepAsAndroidReceiver, new IntentFilter());
|
||||
ContextCompat.registerReceiver(this, mSleepAsAndroidReceiver, new IntentFilter(), ContextCompat.RECEIVER_EXPORTED);
|
||||
}
|
||||
}
|
||||
|
||||
if (GBApplication.getPrefs().getBoolean("auto_fetch_enabled", false) &&
|
||||
features.supportsActivityDataFetching() && mGBAutoFetchReceiver == null) {
|
||||
mGBAutoFetchReceiver = new GBAutoFetchReceiver();
|
||||
registerReceiver(mGBAutoFetchReceiver, new IntentFilter("android.intent.action.USER_PRESENT"));
|
||||
ContextCompat.registerReceiver(this, mGBAutoFetchReceiver, new IntentFilter("android.intent.action.USER_PRESENT"), ContextCompat.RECEIVER_EXPORTED);
|
||||
}
|
||||
} else {
|
||||
if (mPhoneCallReceiver != null) {
|
||||
|
@ -35,12 +35,14 @@ import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.IntentFilter;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.content.pm.ServiceInfo;
|
||||
import android.os.Build;
|
||||
import android.os.Handler;
|
||||
import android.os.IBinder;
|
||||
|
||||
import androidx.core.app.ActivityCompat;
|
||||
import androidx.core.app.NotificationCompat;
|
||||
import androidx.core.content.ContextCompat;
|
||||
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
@ -215,7 +217,11 @@ public class BLEScanService extends Service {
|
||||
private void startForeground() {
|
||||
Notification serviceNotification = createNotification(false, 0);
|
||||
|
||||
super.startForeground(GB.NOTIFICATION_ID_SCAN, serviceNotification);
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
|
||||
super.startForeground(GB.NOTIFICATION_ID_SCAN, serviceNotification, ServiceInfo.FOREGROUND_SERVICE_TYPE_CONNECTED_DEVICE);
|
||||
} else {
|
||||
super.startForeground(GB.NOTIFICATION_ID_SCAN, serviceNotification);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -315,9 +321,11 @@ public class BLEScanService extends Service {
|
||||
filter
|
||||
);
|
||||
|
||||
registerReceiver(
|
||||
ContextCompat.registerReceiver(
|
||||
this,
|
||||
bluetoothStateChangedReceiver,
|
||||
new IntentFilter(BluetoothAdapter.ACTION_STATE_CHANGED)
|
||||
new IntentFilter(BluetoothAdapter.ACTION_STATE_CHANGED),
|
||||
ContextCompat.RECEIVER_EXPORTED
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -22,6 +22,7 @@ import android.content.BroadcastReceiver;
|
||||
import android.content.Context;
|
||||
import android.content.IntentFilter;
|
||||
|
||||
import androidx.core.content.ContextCompat;
|
||||
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
|
||||
|
||||
import nodomain.freeyourgadget.gadgetbridge.GBApplication;
|
||||
@ -65,7 +66,7 @@ public class BondAction extends PlainAction implements BondingInterface {
|
||||
@Override
|
||||
public void registerBroadcastReceivers() {
|
||||
LocalBroadcastManager.getInstance(GBApplication.getContext()).registerReceiver(pairingReceiver, new IntentFilter(GBDevice.ACTION_DEVICE_CHANGED));
|
||||
getContext().registerReceiver(bondingReceiver, new IntentFilter(BluetoothDevice.ACTION_BOND_STATE_CHANGED));
|
||||
ContextCompat.registerReceiver(getContext(), bondingReceiver, new IntentFilter(BluetoothDevice.ACTION_BOND_STATE_CHANGED), ContextCompat.RECEIVER_EXPORTED);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -24,12 +24,11 @@ import android.content.Intent;
|
||||
import android.content.IntentFilter;
|
||||
import android.widget.Toast;
|
||||
|
||||
import androidx.core.content.ContextCompat;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.nio.ByteBuffer;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.UUID;
|
||||
|
||||
import nodomain.freeyourgadget.gadgetbridge.GBApplication;
|
||||
import nodomain.freeyourgadget.gadgetbridge.deviceevents.GBDeviceEventBatteryInfo;
|
||||
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
|
||||
import nodomain.freeyourgadget.gadgetbridge.model.BatteryState;
|
||||
@ -127,7 +126,7 @@ public class FlipperZeroSupport extends FlipperZeroBaseSupport{
|
||||
@Override
|
||||
protected TransactionBuilder initializeDevice(TransactionBuilder builder) {
|
||||
if(!recevierRegistered) {
|
||||
getContext().registerReceiver(receiver, new IntentFilter(COMMAND_PLAY_FILE));
|
||||
ContextCompat.registerReceiver(getContext(), receiver, new IntentFilter(COMMAND_PLAY_FILE), ContextCompat.RECEIVER_EXPORTED);
|
||||
recevierRegistered = true;
|
||||
}
|
||||
|
||||
|
@ -22,6 +22,8 @@ import android.content.Intent;
|
||||
import android.content.IntentFilter;
|
||||
import android.util.Base64;
|
||||
|
||||
import androidx.core.content.ContextCompat;
|
||||
|
||||
import org.json.JSONArray;
|
||||
import org.json.JSONException;
|
||||
import org.slf4j.Logger;
|
||||
@ -131,7 +133,7 @@ class PebbleKitSupport {
|
||||
intentFilter.addAction(PEBBLEKIT_ACTION_APP_START);
|
||||
intentFilter.addAction(PEBBLEKIT_ACTION_APP_STOP);
|
||||
intentFilter.addAction(PEBBLEKIT_ACTION_DL_ACK_DATA);
|
||||
mContext.registerReceiver(mPebbleKitReceiver, intentFilter);
|
||||
ContextCompat.registerReceiver(mContext, mPebbleKitReceiver, intentFilter, ContextCompat.RECEIVER_EXPORTED);
|
||||
}
|
||||
|
||||
void sendAppMessageIntent(GBDeviceEventAppMessage appMessage) {
|
||||
|
@ -28,6 +28,7 @@ import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.widget.Toast;
|
||||
|
||||
import androidx.core.content.ContextCompat;
|
||||
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
|
||||
|
||||
import org.json.JSONException;
|
||||
@ -393,7 +394,7 @@ public class QHybridSupport extends QHybridBaseSupport {
|
||||
}
|
||||
}
|
||||
};
|
||||
GBApplication.getContext().registerReceiver(globalCommandReceiver, globalFilter);
|
||||
ContextCompat.registerReceiver(GBApplication.getContext(), globalCommandReceiver, globalFilter, ContextCompat.RECEIVER_EXPORTED);
|
||||
}
|
||||
|
||||
private void handleConfigSetIntent(Intent intent) {
|
||||
|
Loading…
Reference in New Issue
Block a user