Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions app/proguard-rules.pro
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,7 @@
private static *** newProcess(...);
}
-dontwarn rikka.shizuku.**

# Native Shevery Privilege API
-keep class com.hamondev.shevery.api.** { *; }
-dontwarn com.hamondev.shevery.api.**
17 changes: 17 additions & 0 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,12 @@
android:maxSdkVersion="28" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"
android:maxSdkVersion="32" />
<uses-permission android:name="com.hamondev.shevery.permission.PRIVILEGED_API" />

<queries>
<package android:name="com.hamondev.shevery" />
<package android:name="moe.shizuku.privileged.api" />
</queries>

<application
android:name=".ChronikaApp"
Expand Down Expand Up @@ -57,11 +63,22 @@
android:resource="@xml/accessibility_service_config" />
</service>

<meta-data
android:name="com.hamondev.shevery.client.PRIVILEGED_API_SUPPORT"
android:value="true" />

<provider
android:name="rikka.shizuku.ShizukuProvider"
android:authorities="${applicationId}.shizuku"
android:enabled="true"
android:exported="true"
android:multiprocess="false" />

<provider
android:name="com.hamondev.shevery.api.SheveryProvider"
android:authorities="${applicationId}.shevery"
android:enabled="true"
android:exported="true"
android:multiprocess="false" />
</application>
</manifest>
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
package com.hamondev.shevery.api;

/**
* Constants for the native Shevery Privilege API.
*/
public final class SheveryApiConstants {

private SheveryApiConstants() {
}

public static final int SERVER_VERSION = 14;
public static final int SERVER_PATCH_VERSION = 5;

// Binder interface
public static final String BINDER_DESCRIPTOR = "moe.shizuku.server.IShizukuService";
public static final int BINDER_TRANSACTION_transact = 1;

// Package identifiers
public static final String MANAGER_APPLICATION_ID = "com.hamondev.shevery";
public static final String SHIZUKU_STUB_APPLICATION_ID = "moe.shizuku.privileged.api";

// Native Shevery permissions
public static final String PERMISSION_GROUP_API = "com.hamondev.shevery.permission-group.API";
public static final String PERMISSION_PRIVILEGED_API = "com.hamondev.shevery.permission.PRIVILEGED_API";
public static final String PERMISSION_MANAGER = "com.hamondev.shevery.permission.MANAGER";

// Client metadata markers
public static final String META_DATA_CLIENT_SUPPORT = "com.hamondev.shevery.client.PRIVILEGED_API_SUPPORT";

// ContentProvider authorities & methods
public static final String PROVIDER_SUFFIX = ".shevery";
public static final String LEGACY_PROVIDER_SUFFIX = ".shizuku";
public static final String MANAGER_PROVIDER_AUTHORITY = MANAGER_APPLICATION_ID + PROVIDER_SUFFIX;
public static final String MANAGER_LEGACY_PROVIDER_AUTHORITY = MANAGER_APPLICATION_ID + LEGACY_PROVIDER_SUFFIX;

public static final String METHOD_SEND_BINDER = "sendBinder";
public static final String METHOD_GET_BINDER = "getBinder";
public static final String METHOD_REQUEST_BINDER = "requestBinder";

// Extras & broadcast actions
public static final String EXTRA_BINDER = "com.hamondev.shevery.intent.extra.BINDER";
public static final String LEGACY_EXTRA_BINDER = "moe.shizuku.privileged.api.intent.extra.BINDER";
public static final String EXTRA_PERMISSION_CHANNEL = "com.hamondev.shevery.intent.extra.PERMISSION_CHANNEL";
public static final String EXTRA_REQUESTED_PERMISSION = "com.hamondev.shevery.intent.extra.REQUESTED_PERMISSION";

public static final String ACTION_BINDER_RECEIVED = "com.hamondev.shevery.api.action.BINDER_RECEIVED";
public static final String ACTION_REQUEST_PERMISSION = "com.hamondev.shevery.intent.action.REQUEST_PERMISSION";
public static final String ACTION_REQUEST_BINDER = "com.hamondev.shevery.intent.action.REQUEST_BINDER";

// Attach application channel negotiation
public static final String ATTACH_APPLICATION_CLIENT_CHANNEL = "shevery:attach-client-channel";
public static final String CHANNEL_SHEVERY_NATIVE = "shevery_native";
}
Loading
Loading