'This code will be applied to the manifest file during compilation.
'You do not need to modify it in most cases.
'See this link for for more information: https://www.b4x.com/forum/showthread.php?p=78136
AddApplicationText(
<!-- BroadcastReceiver that listens for incoming SMS messages https://stackoverflow.com/questions/30127564/how-do-i-set-my-app-as-the-default-sms-app -->
<receiver
android:name=".SmsReceiver"
android:permission="android.permission.BROADCAST_SMS">
<intent-filter>
<action android:name="android.provider.Telephony.SMS_DELIVER" />
</intent-filter>
</receiver>
<!-- BroadcastReceiver that listens for incoming MMS messages -->
<receiver
android:name=".MmsReceiver"
android:permission="android.permission.BROADCAST_WAP_PUSH">
<intent-filter>
<action android:name="android.provider.Telephony.WAP_PUSH_DELIVER" />
<data android:mimeType="application/vnd.wap.mms-message" />
</intent-filter>
</receiver>
<!-- Activity that allows the user to send new SMS/MMS messages -->
<activity android:name=".ComposeSmsActivity">
<intent-filter>
<action android:name="android.intent.action.SEND" />
<action android:name="android.intent.action.SENDTO" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="sms" />
<data android:scheme="smsto" />
<data android:scheme="mms" />
<data android:scheme="mmsto" />
</intent-filter>
</activity>
<!-- Service that delivers messages from the phone "quick response" -->
<service
android:name=".HeadlessSmsSendService"
android:exported="true"
android:permission="android.permission.SEND_RESPOND_VIA_MESSAGE">
<intent-filter>
<action android:name="android.intent.action.RESPOND_VIA_MESSAGE" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="sms" />
<data android:scheme="smsto" />
<data android:scheme="mms" />
<data android:scheme="mmsto" />
</intent-filter>
</service>
)
AddManifestText(
<uses-permission android:name="android.permission.READ_CALENDAR"/>
<uses-permission android:name="android.permission.WRITE_CALENDAR"/>
<uses-permission android:name="android.permission.GET_ACCOUNTS"/>
<uses-permission android:name="android.permission.READ_CONTACTS"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="18"/>
<uses-permission android:name="android.permission.RESPOND_VIA_MESSAGE" />
<uses-permission android:name="android.permission.WAP_PUSH_DELIVER" />
<uses-permission android:name="android.permission.RECEIVE_MMS" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.READ_SMS" />
<uses-permission android:name="android.permission.WRITE_SMS" />
<uses-sdk android:minSdkVersion="5" android:targetSdkVersion="30"/>
<supports-screens android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:anyDensity="true"/>)
AddPermission("android.permission.READ_CONTACTS")
AddPermission("android.permission.SEND_SMS")
AddPermission("android.permission.RECEIVE_SMS")
'SetReceiverAttribute(SmsAndBackupService, android:permission, "android.permission.BROADCAST_SMS")
'AddReceiverText(SmsAndBackupService, <intent-filter>
' <action android:name="android.provider.Telephony.SMS_DELIVER" />
' </intent-filter>
')
'SetReceiverAttribute(SmsAndBackupService, android:permission, "android.permission.BROADCAST_WAP_PUSH")
'AddReceiverText(SmsAndBackupService, <intent-filter>
' <action android:name="android.provider.Telephony.WAP_PUSH_DELIVER" />
' <data android:mimeType="application/vnd.wap.mms-message" />
' </intent-filter>
')
'SetServiceAttribute(SmsAndBackupService, android:permission, "android.permission.SEND_RESPOND_VIA_MESSAGE")
'SetServiceAttribute(SmsAndBackupService, android:exported, "true")
'AddServiceText(SmsAndBackupService, <intent-filter>
' <action android:name="android.intent.action.RESPOND_VIA_MESSAGE" />
' <category android:name="android.intent.category.DEFAULT" />
' <data android:scheme="sms" />
' <data android:scheme="smsto" />
' <data android:scheme="mms" />
' <data android:scheme="mmsto" />
' </intent-filter>
')
'AddActivityText(main,
' <intent-filter>
' <action android:name="android.intent.action.SEND" />
' <action android:name="android.intent.action.SENDTO" />
' <category android:name="android.intent.category.DEFAULT" />
' <category android:name="android.intent.category.BROWSABLE" />
' <data android:scheme="sms" />
' <data android:scheme="smsto" />
' <data android:scheme="mms" />
' <data android:scheme="mmsto" />
' </intent-filter>
')
SetApplicationAttribute(android:icon, "@drawable/icon")
SetApplicationAttribute(android:label, "$LABEL$")
'End of default text.
SetApplicationAttribute(android:theme, "@style/DarkTheme")
CreateResource(values, Colors.xml,
<resources>
<color name="actionbar">#ff039be5</color>
<color name="statusbar">#ff006db3</color>
<color name="navigationBar">#ff006db3</color>
</resources>
)
CreateResource(values-v20, theme.xml,
<resources>
<style
name="DarkTheme" parent="@android:style/Theme.Material">
<item name="android:colorPrimary">@color/actionbar</item>
<item name="android:colorPrimaryDark">@color/statusbar</item>
<item name="android:navigationBarColor">@color/navigationBar</item>
</style>
</resources>
)
CreateResource(values-v14, theme.xml,
<resources>
<style
name="DarkTheme" parent="@android:style/Theme.Holo">
<item name="android:colorPrimary">@color/actionbar</item>
<item name="android:colorPrimaryDark">@color/statusbar</item>
<item name="android:navigationBarColor">@color/navigationBar</item>
</style>
</resources>
)
AddApplicationText(
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="$PACKAGE$.provider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths"/>
</provider>
)
CreateResource(xml, provider_paths,
<files-path name="name" path="shared" />
)
CreateResourceFromFile(Macro, GooglePlayBilling.GooglePlayBilling)