res: add npem to res as part of repo

MinMicroG has always had to modify npem for its own apps, but now NanoDroid
seems to have gone on hiatus, and important changes are sitting in PRs.

I fgfure it'd be more convenient if we just maintain a clone in-tree and
keep it up to date with NanoDroid's changes.
pull/30/head
FriendlyNeighborhoodShane 2 years ago
parent 98d1e8ff14
commit 81294c7c06

@ -32,7 +32,6 @@ stuff_download="
/system/app/GoogleContactsSyncAdapter/-28-/GoogleContactsSyncAdapter.apk direct https://gitlab.opengapps.org/opengapps/all/raw/master/app/com.google.android.syncadapters.contacts/28/nodpi/28.apk
/system/app/GoogleContactsSyncAdapter/-29-/GoogleContactsSyncAdapter.apk direct https://gitlab.opengapps.org/opengapps/all/raw/master/app/com.google.android.syncadapters.contacts/29/nodpi/29.apk
/system/app/GoogleContactsSyncAdapter/-30-/GoogleContactsSyncAdapter.apk direct https://gitlab.opengapps.org/opengapps/all/raw/master/app/com.google.android.syncadapters.contacts/30/nodpi/30.apk
/system/bin/npem direct https://gitlab.com/nanolx/nanodroid/raw/master/Full/system/bin/nanodroid-perm
/system/framework/com.google.android.media.effects.jar direct https://gitlab.opengapps.org/opengapps/all/raw/master/framework/19/com.google.android.media.effects.jar
/system/framework/com.google.widevine.software.drm.jar direct https://gitlab.opengapps.org/opengapps/all/raw/master/framework/19/com.google.widevine.software.drm.jar
/system/lib/-arm--19-21-22-23-24-25-26-27-28-29-30-/libjni_keyboarddecoder.so direct https://gitlab.opengapps.org/opengapps/arm/raw/master/lib/23/libjni_keyboarddecoder.so

@ -0,0 +1,89 @@
#!/system/bin/sh
# originally created by NanoDroid
# vendored and modified for MinMicroG
# Permissions
perm_fake="android.permission.FAKE_PACKAGE_SIGNATURE"
perm_floc="android.permission.ACCESS_FINE_LOCATION"
perm_cloc="android.permission.ACCESS_COARSE_LOCATION"
perm_bloc="android.permission.ACCESS_BACKGROUND_LOCATION"
perm_calr="android.permission.READ_CALENDAR"
perm_calw="android.permission.WRITE_CALENDAR"
perm_conr="android.permission.READ_CONTACTS"
perm_conw="android.permission.WRITE_CONTACTS"
perm_gacc="android.permission.GET_ACCOUNTS"
perm_rsms="android.permission.RECEIVE_SMS"
# Packages
microG="com.google.android.gms"
PlayStore="com.android.vending"
GCalSync="com.google.android.syncadapters.calendar"
GConSync="com.google.android.syncadapters.contacts"
nlpIchnaea="org.microg.nlp.backend.ichnaea"
nlpDejavu="org.fitchfamily.android.dejavu"
nlpApple="org.microg.nlp.backend.apple"
nlpBmap="org.openbmap.unifiedNlp"
# GmsCore userId
gms_uid=$(dumpsys package com.google.android.gms | awk -F= '/userId/{print $2; exit}')
error () {
echo "!! ${@}"
exit 1
}
check_package () {
pm list packages | grep -q "^package:${1}$" && return 0 || return 1
}
check_permission () {
[[ $(dumpsys package ${1} | grep -Eo "^[ ]+${2}: granted=true") ]] && return 0 || return 1
}
grant_permission () {
if [ -n "${3}" ]; then
pm grant --user ${3} ${1} ${2} 2>/dev/null
else
pm grant ${1} ${2} 2>/dev/null
fi
}
permissions () {
if check_package ${1}; then
echo "package ${1} found"
if ! check_permission ${1} ${2}; then
grant_permission ${1} ${2} ${3} && \
echo "permission ${2} granted" || \
echo "failed to grant permission ${2}"
else echo "already has permission ${2}"
fi
fi
}
[[ $(whoami) = "root" ]] || [[ $(whoami) = "shell" ]] || error "not running as either ADB or root"
# Fake Package Signature
permissions ${microG} ${perm_fake}
permissions ${PlayStore} ${perm_fake}
# Location
for app in ${microG} ${nlpIchnaea} ${nlpDejavu} ${nlpApple} ${nlpBmap}; do
permissions ${app} ${perm_cloc}
done
for app in ${microG} ${nlpIchnaea} ${nlpDejavu} ${nlpApple}; do
permissions ${app} ${perm_floc}
done
# Restricted permissions
permissions ${microG} ${perm_bloc} ${gms_uid}
permissions ${microG} ${perm_rsms} ${gms_uid}
# Google Calendar Sync
permissions ${GCalSync} ${perm_calr}
permissions ${GCalSync} ${perm_calw}
# Google Contacts Sync
permissions ${GConSync} ${perm_conr}
permissions ${GConSync} ${perm_conw}
permissions ${GConSync} ${perm_gacc}
Loading…
Cancel
Save