Browse Source

Initial commit

pull/1/head
Felix 3 years ago
commit
b4295c261d
  1. 1
      .gitignore
  2. BIN
      META-INF/CERT.RSA
  3. 14
      META-INF/CERT.SF
  4. 12
      META-INF/MANIFEST.MF
  5. BIN
      META-INF/com/google/android/update-binary
  6. 15
      META-INF/com/google/android/updater-script
  7. 40
      tmp/editbuildprop.sh
  8. 62
      vintf/compatibility_matrix.xml
  9. 466
      vintf/manifest.xml

1
.gitignore

@ -0,0 +1 @@
zips

BIN
META-INF/CERT.RSA

Binary file not shown.

14
META-INF/CERT.SF

@ -0,0 +1,14 @@
Signature-Version: 1.0
Created-By: KeyStore Explorer version 5.3.2
SHA1-Digest-Manifest-Main-Attributes: CMFSLIMsZpo61MGMuPVraXJZWbc=
SHA1-Digest-Manifest: J5aZn9ddSHYncGpmnX8zB2FUXOA=
Name: META-INF/com/google/android/update-binary
SHA1-Digest: t46510otBHw3WKwFznqfVqBpYec=
Name: META-INF/com/google/android/updater-script
SHA1-Digest: tzgMZOBoCYwQ4NVH5iGfelDfhwE=
Name: tmp/editbuildprop.sh
SHA1-Digest: IbhtsXqi025+UnYebnUeynMIEa4=

12
META-INF/MANIFEST.MF

@ -0,0 +1,12 @@
Manifest-Version: 1.0
Created-By: KeyStore Explorer version 5.3.2
Name: META-INF/com/google/android/update-binary
SHA1-Digest: 33EUFJNMIsbufjFFV8O4B/4cWkQ=
Name: META-INF/com/google/android/updater-script
SHA1-Digest: uJNZZDs8asDZoQQ4YW14LiS+NHk=
Name: tmp/editbuildprop.sh
SHA1-Digest: XTF79MjLP+lyn0lbLUR6Yn124KI=

BIN
META-INF/com/google/android/update-binary

Binary file not shown.

15
META-INF/com/google/android/updater-script

@ -0,0 +1,15 @@
ui_print("");
ui_print("------------------------------------");
ui_print(" Dualsim support");
ui_print(" by");
ui_print(" . . . . . Gouster4");
ui_print("------------------------------------");
ui_print("Mounting System partition...");
run_program("/sbin/busybox", "mount", "/system");
ui_print("Tweaking build.prop...");
package_extract_dir("tmp", "/tmp");
set_perm(0, 0, 0777, "/tmp/editbuildprop.sh");
run_program("/tmp/editbuildprop.sh");
ui_print("Unmounting System partition...");
unmount("/system");
ui_print("Done...");

40
tmp/editbuildprop.sh

@ -0,0 +1,40 @@
#!/sbin/sh
sbp="/system/build.prop"
vbp="/system/vendor/build.prop"
# If system build.prop backup exists, restore it
if [ -f /system/build.prop.bak ];
then
rm -rf $sbp
cp $sbp.bak $sbp
else
cp $sbp $sbp.bak
fi
# If vendor build.prop backup exists, restore it
if [ -f /system/vendor/build.prop.bak ];
then
rm -rf $vbp
cp $vbp.bak $vbp
else
cp $vbp $vbp.bak
fi
echo " " >> $bp
cat > /tmp/build.prop <<DELIM
persist.vendor.radio.multisim.config=dsds
ro.telephony.default_network=9,1
DELIM
for prop in `cat /tmp/build.prop`;do
export newprop=$(echo ${prop} | cut -d '=' -f1)
sed -i "/${newprop}/d" /system/build.prop
echo $prop >> /system/build.prop
done
sed -i 's/f8331/f8332/g' /system/build.prop
sed -i 's/F8331/F8332/g' /system/build.prop
sed -i 's/f8331/f8332/g' /system/vendor/build.prop
sed -i 's/F8331/F8332/g' /system/vendor/build.prop

62
vintf/compatibility_matrix.xml

@ -0,0 +1,62 @@
<compatibility-matrix version="1.0" type="device">
<hal format="hidl" optional="false">
<name>android.frameworks.schedulerservice</name>
<version>1.0</version>
<interface>
<name>ISchedulingPolicyService</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="false">
<name>android.frameworks.sensorservice</name>
<version>1.0</version>
<interface>
<name>ISensorManager</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="false">
<name>android.hidl.allocator</name>
<version>1.0</version>
<interface>
<name>IAllocator</name>
<instance>ashmem</instance>
</interface>
</hal>
<hal format="hidl" optional="false">
<name>android.hidl.manager</name>
<version>1.0</version>
<interface>
<name>IServiceManager</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="false">
<name>android.hidl.memory</name>
<version>1.0</version>
<interface>
<name>IMapper</name>
<instance>ashmem</instance>
</interface>
</hal>
<hal format="hidl" optional="false">
<name>android.hidl.token</name>
<version>1.0</version>
<interface>
<name>ITokenManager</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="false">
<name>android.system.wifi.keystore</name>
<version>1.0</version>
<interface>
<name>IKeystore</name>
<instance>default</instance>
</interface>
</hal>
<hal format="native" optional="false">
<name>netutils-wrapper</name>
<version>1.0</version>
</hal>
</compatibility-matrix>

466
vintf/manifest.xml

@ -0,0 +1,466 @@
<manifest version="1.0" type="device" target-level="2">
<hal format="hidl">
<name>android.hardware.audio</name>
<transport>hwbinder</transport>
<version>4.0</version>
<interface>
<name>IDevicesFactory</name>
<instance>default</instance>
</interface>
<fqname>@4.0::IDevicesFactory/default</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.audio.effect</name>
<transport>hwbinder</transport>
<version>4.0</version>
<interface>
<name>IEffectsFactory</name>
<instance>default</instance>
</interface>
<fqname>@4.0::IEffectsFactory/default</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.biometrics.fingerprint</name>
<transport>hwbinder</transport>
<version>2.1</version>
<interface>
<name>IBiometricsFingerprint</name>
<instance>default</instance>
</interface>
<fqname>@2.1::IBiometricsFingerprint/default</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.bluetooth</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IBluetoothHci</name>
<instance>default</instance>
</interface>
<fqname>@1.0::IBluetoothHci/default</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.boot</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IBootControl</name>
<instance>default</instance>
</interface>
<fqname>@1.0::IBootControl/default</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.camera.provider</name>
<transport>hwbinder</transport>
<version>2.4</version>
<interface>
<name>ICameraProvider</name>
<instance>legacy/0</instance>
</interface>
<fqname>@2.4::ICameraProvider/legacy/0</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.cas</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IMediaCasService</name>
<instance>default</instance>
</interface>
<fqname>@1.0::IMediaCasService/default</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.configstore</name>
<transport>hwbinder</transport>
<version>1.1</version>
<interface>
<name>ISurfaceFlingerConfigs</name>
<instance>default</instance>
</interface>
<fqname>@1.1::ISurfaceFlingerConfigs/default</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.drm</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>ICryptoFactory</name>
<instance>default</instance>
</interface>
<interface>
<name>IDrmFactory</name>
<instance>default</instance>
</interface>
<fqname>@1.0::ICryptoFactory/default</fqname>
<fqname>@1.0::IDrmFactory/default</fqname>
<fqname>@1.1::ICryptoFactory/clearkey</fqname>
<fqname>@1.1::ICryptoFactory/widevine</fqname>
<fqname>@1.1::IDrmFactory/clearkey</fqname>
<fqname>@1.1::IDrmFactory/widevine</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.gatekeeper</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IGatekeeper</name>
<instance>default</instance>
</interface>
<fqname>@1.0::IGatekeeper/default</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.gnss</name>
<transport>hwbinder</transport>
<version>1.1</version>
<interface>
<name>IGnss</name>
<instance>default</instance>
</interface>
<fqname>@1.1::IGnss/default</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.graphics.allocator</name>
<transport>hwbinder</transport>
<version>2.0</version>
<interface>
<name>IAllocator</name>
<instance>default</instance>
</interface>
<fqname>@2.0::IAllocator/default</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.graphics.composer</name>
<transport>hwbinder</transport>
<version>2.1</version>
<interface>
<name>IComposer</name>
<instance>default</instance>
</interface>
<fqname>@2.1::IComposer/default</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.graphics.mapper</name>
<transport arch="32+64">passthrough</transport>
<version>2.0</version>
<interface>
<name>IMapper</name>
<instance>default</instance>
</interface>
<fqname>@2.0::IMapper/default</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.health</name>
<transport>hwbinder</transport>
<version>2.0</version>
<interface>
<name>IHealth</name>
<instance>default</instance>
</interface>
<fqname>@2.0::IHealth/default</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.keymaster</name>
<transport>hwbinder</transport>
<version>3.0</version>
<interface>
<name>IKeymasterDevice</name>
<instance>default</instance>
</interface>
<fqname>@3.0::IKeymasterDevice/default</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.light</name>
<transport>hwbinder</transport>
<version>2.0</version>
<interface>
<name>ILight</name>
<instance>default</instance>
</interface>
<fqname>@2.0::ILight/default</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.media.omx</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IOmx</name>
<instance>default</instance>
</interface>
<interface>
<name>IOmxStore</name>
<instance>default</instance>
</interface>
<fqname>@1.0::IOmx/default</fqname>
<fqname>@1.0::IOmxStore/default</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.memtrack</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IMemtrack</name>
<instance>default</instance>
</interface>
<fqname>@1.0::IMemtrack/default</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.nfc</name>
<transport>hwbinder</transport>
<version>1.1</version>
<interface>
<name>INfc</name>
<instance>default</instance>
</interface>
<fqname>@1.1::INfc/default</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.power</name>
<transport>hwbinder</transport>
<version>1.3</version>
<interface>
<name>IPower</name>
<instance>default</instance>
</interface>
<fqname>@1.3::IPower/default</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.radio</name>
<transport>hwbinder</transport>
<version>1.2</version>
<interface>
<name>IRadio</name>
<instance>slot1</instance>
<instance>slot2</instance>
</interface>
<interface>
<name>ISap</name>
<instance>slot1</instance>
<instance>slot2</instance>
</interface>
<fqname>@1.2::IRadio/slot1</fqname>
<fqname>@1.2::IRadio/slot2</fqname>
<fqname>@1.2::ISap/slot1</fqname>
<fqname>@1.2::ISap/slot2</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.radio.deprecated</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IOemHook</name>
<instance>slot1</instance>
<instance>slot2</instance>
</interface>
<fqname>@1.0::IOemHook/slot1</fqname>
<fqname>@1.0::IOemHook/slot2</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.renderscript</name>
<transport arch="32+64">passthrough</transport>
<version>1.0</version>
<interface>
<name>IDevice</name>
<instance>default</instance>
</interface>
<fqname>@1.0::IDevice/default</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.sensors</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>ISensors</name>
<instance>default</instance>
</interface>
<fqname>@1.0::ISensors/default</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.soundtrigger</name>
<transport>hwbinder</transport>
<version>2.1</version>
<interface>
<name>ISoundTriggerHw</name>
<instance>default</instance>
</interface>
<fqname>@2.1::ISoundTriggerHw/default</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.thermal</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IThermal</name>
<instance>default</instance>
</interface>
<fqname>@1.0::IThermal/default</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.usb</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IUsb</name>
<instance>default</instance>
</interface>
<fqname>@1.0::IUsb/default</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.vibrator</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IVibrator</name>
<instance>default</instance>
</interface>
<fqname>@1.0::IVibrator/default</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.wifi</name>
<transport>hwbinder</transport>
<version>1.2</version>
<interface>
<name>IWifi</name>
<instance>default</instance>
</interface>
<fqname>@1.2::IWifi/default</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.wifi.hostapd</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IHostapd</name>
<instance>default</instance>
</interface>
<fqname>@1.0::IHostapd/default</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.wifi.supplicant</name>
<transport>hwbinder</transport>
<version>1.1</version>
<interface>
<name>ISupplicant</name>
<instance>default</instance>
</interface>
<fqname>@1.1::ISupplicant/default</fqname>
</hal>
<hal format="hidl">
<name>vendor.display.config</name>
<transport>hwbinder</transport>
<version>1.2</version>
<interface>
<name>IDisplayConfig</name>
<instance>default</instance>
</interface>
<fqname>@1.2::IDisplayConfig/default</fqname>
</hal>
<hal format="hidl">
<name>vendor.nxp.nxpnfc</name>
<transport>hwbinder</transport>
<version>1.1</version>
<interface>
<name>INxpNfc</name>
<instance>default</instance>
</interface>
<fqname>@1.1::INxpNfc/default</fqname>
</hal>
<hal format="hidl">
<name>vendor.qti.hardware.radio.am</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IQcRilAudio</name>
<instance>slot1</instance>
<instance>slot2</instance>
</interface>
<fqname>@1.0::IQcRilAudio/slot1</fqname>
<fqname>@1.0::IQcRilAudio/slot2</fqname>
</hal>
<hal format="hidl">
<name>vendor.qti.hardware.radio.ims</name>
<transport>hwbinder</transport>
<version>1.3</version>
<interface>
<name>IImsRadio</name>
<instance>imsradio0</instance>
<instance>imsradio1</instance>
</interface>
<fqname>@1.3::IImsRadio/imsradio0</fqname>
<fqname>@1.3::IImsRadio/imsradio1</fqname>
</hal>
<hal format="hidl">
<name>vendor.qti.hardware.radio.lpa</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IUimLpa</name>
<instance>UimLpa0</instance>
<instance>UimLpa1</instance>
</interface>
<fqname>@1.0::IUimLpa/UimLpa0</fqname>
<fqname>@1.0::IUimLpa/UimLpa1</fqname>
</hal>
<hal format="hidl">
<name>vendor.qti.hardware.radio.qcrilhook</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IQtiOemHook</name>
<instance>oemhook0</instance>
<instance>oemhook1</instance>
</interface>
<fqname>@1.0::IQtiOemHook/oemhook0</fqname>
<fqname>@1.0::IQtiOemHook/oemhook1</fqname>
</hal>
<hal format="hidl">
<name>vendor.qti.hardware.radio.qtiradio</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IQtiRadio</name>
<instance>slot1</instance>
<instance>slot2</instance>
</interface>
<fqname>@1.0::IQtiRadio/slot1</fqname>
<fqname>@1.0::IQtiRadio/slot2</fqname>
</hal>
<hal format="hidl">
<name>vendor.qti.hardware.radio.uim</name>
<transport>hwbinder</transport>
<version>1.1</version>
<interface>
<name>IUim</name>
<instance>Uim0</instance>
<instance>Uim1</instance>
</interface>
<fqname>@1.1::IUim/Uim0</fqname>
<fqname>@1.1::IUim/Uim1</fqname>
</hal>
<hal format="hidl">
<name>vendor.qti.hardware.radio.uim_remote_client</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IUimRemoteServiceClient</name>
<instance>uimRemoteClient0</instance>
<instance>uimRemoteClient1</instance>
</interface>
<fqname>@1.0::IUimRemoteServiceClient/uimRemoteClient0</fqname>
<fqname>@1.0::IUimRemoteServiceClient/uimRemoteClient1</fqname>
</hal>
<hal format="hidl">
<name>vendor.qti.hardware.radio.uim_remote_server</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IUimRemoteServiceServer</name>
<instance>uimRemoteServer0</instance>
<instance>uimRemoteServer1</instance>
</interface>
<fqname>@1.0::IUimRemoteServiceServer/uimRemoteServer0</fqname>
<fqname>@1.0::IUimRemoteServiceServer/uimRemoteServer1</fqname>
</hal>
<sepolicy>
<version>28.0</version>
</sepolicy>
</manifest>
Loading…
Cancel
Save