android: Use PendingIntent-version of startActivityAndCollapse()

The other version has been deprecated and throws an exception when
targeting Android 14+.
This commit is contained in:
Tobias Brunner 2024-08-05 10:47:10 +02:00
parent 38160c5cb7
commit 3286f75ffe

View File

@ -16,7 +16,9 @@
package org.strongswan.android.ui; package org.strongswan.android.ui;
import android.annotation.SuppressLint;
import android.annotation.TargetApi; import android.annotation.TargetApi;
import android.app.PendingIntent;
import android.app.Service; import android.app.Service;
import android.content.ComponentName; import android.content.ComponentName;
import android.content.Context; import android.content.Context;
@ -127,6 +129,7 @@ public class VpnTileService extends TileService implements VpnStateService.VpnSt
return mDataSource != null ? mDataSource.getVpnProfile(uuid) : null; return mDataSource != null ? mDataSource.getVpnProfile(uuid) : null;
} }
@SuppressLint("StartActivityAndCollapseDeprecated")
@Override @Override
public void onClick() public void onClick()
{ {
@ -177,7 +180,14 @@ public class VpnTileService extends TileService implements VpnStateService.VpnSt
if (profile.getVpnType().has(VpnType.VpnTypeFeature.USER_PASS) && if (profile.getVpnType().has(VpnType.VpnTypeFeature.USER_PASS) &&
profile.getPassword() == null) profile.getPassword() == null)
{ /* the user will have to enter the password, so collapse the drawer */ { /* the user will have to enter the password, so collapse the drawer */
startActivityAndCollapse(intent); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE)
{
startActivityAndCollapse(PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_IMMUTABLE));
}
else
{
startActivityAndCollapse(intent);
}
} }
else else
{ {
@ -188,7 +198,14 @@ public class VpnTileService extends TileService implements VpnStateService.VpnSt
} }
Intent intent = new Intent(this, MainActivity.class); Intent intent = new Intent(this, MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivityAndCollapse(intent); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE)
{
startActivityAndCollapse(PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_IMMUTABLE));
}
else
{
startActivityAndCollapse(intent);
}
} }
@Override @Override