Preparing starter to send broadcasts to main app in case termux-app has no SYSTEM_ALERT_WINDOW permission.

This commit is contained in:
Twaik Yont 2023-02-13 14:07:50 +02:00
parent 8bb8be1cb1
commit db5c9bf10f
3 changed files with 72 additions and 0 deletions

View File

@ -0,0 +1,33 @@
/*
* Copyright (C) 2006 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package android.content;
import android.content.Intent;
import android.os.Bundle;
/**
* System private API for dispatching intent broadcasts. This is given to the
* activity manager as part of registering for an intent broadcasts, and is
* called when it receives intents.
*
* {@hide}
*/
oneway interface IIntentReceiver {
// Android 6+, unchanged.
void performReceive(in Intent intent, int resultCode, String data,
in Bundle extras, boolean ordered, boolean sticky, int sendingUser);
}

View File

@ -0,0 +1,34 @@
/*
* Copyright (C) 2006 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package android.content;
import android.content.IIntentReceiver;
import android.content.Intent;
import android.os.Bundle;
/** @hide */
oneway interface IIntentSender {
// Android 8+
void send(int code, in Intent intent, String resolvedType, in IBinder whitelistToken,
IIntentReceiver finishedReceiver, String requiredPermission, in Bundle options);
// Android 7
void send(int code, in Intent intent, String resolvedType,
IIntentReceiver finishedReceiver, String requiredPermission, in Bundle options);
// Android 6
int send(int code, in Intent intent, String resolvedType,
IIntentReceiver finishedReceiver, String requiredPermission, in Bundle options);
}

View File

@ -5,6 +5,7 @@ import android.os.Bundle;
import android.os.IBinder;
import android.os.IInterface;
import android.os.RemoteException;
import android.content.IIntentSender;
public interface IActivityTaskManager extends IInterface {
int startActivity(IApplicationThread caller, String callingPackage, String callingFeatureId,
@ -15,4 +16,8 @@ public interface IActivityTaskManager extends IInterface {
String resolvedType, IBinder resultTo, String resultWho, int requestCode,
int flags, ProfilerInfo profilerInfo, Bundle options)
throws RemoteException;
IIntentSender getIntentSender(int type, String packageName, IBinder token,
String resultWho, int requestCode, Intent[] intents, String[] resolvedTypes,
int flags, Bundle options, int userId)
throws RemoteException;
}