New ApproveSignInActivity + PendingApprovalWorker (WorkManager, 15min periodic check + notification). VerifyDeviceActivity now polls /api/login-status so sign-in completes automatically once approved on a trusted device, no code typing needed. Also restored com.google.android.material and pointed the window theme at Theme.Material3.DayNight.Dialog.Alert (was a bare platform theme).
59 lines
2.3 KiB
XML
59 lines
2.3 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
|
package="me.oxmc.sso">
|
|
|
|
<!-- API calls to sso.oxmc.me -->
|
|
<uses-permission android:name="android.permission.INTERNET" />
|
|
<!-- New-sign-in notifications from the periodic pending-approval check -->
|
|
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
|
|
|
|
<application
|
|
android:allowBackup="false"
|
|
android:label="@string/app_name"
|
|
android:icon="@drawable/oxmc_logo"
|
|
android:supportsRtl="true"
|
|
android:theme="@style/Theme.OxmcSso.Dialog">
|
|
|
|
<!-- Launched either directly (startActivityForResult) or by the
|
|
system AccountManager via addAccount()/getAuthToken() — see
|
|
PawletAccountAuthenticator. exported=true is required for the
|
|
latter: the system launches this cross-process from Settings. -->
|
|
<activity
|
|
android:name=".LoginActivity"
|
|
android:theme="@style/Theme.OxmcSso.Dialog"
|
|
android:excludeFromRecents="true"
|
|
android:launchMode="singleTop"
|
|
android:exported="true" />
|
|
|
|
<!-- Only ever started internally by LoginActivity within this
|
|
app's own process. -->
|
|
<activity
|
|
android:name=".VerifyDeviceActivity"
|
|
android:theme="@style/Theme.OxmcSso.Dialog"
|
|
android:excludeFromRecents="true"
|
|
android:exported="false" />
|
|
|
|
<!-- Launched from the pending-approval notification's PendingIntent,
|
|
or directly by the user; never by another app. -->
|
|
<activity
|
|
android:name=".ApproveSignInActivity"
|
|
android:theme="@style/Theme.OxmcSso.Dialog"
|
|
android:excludeFromRecents="true"
|
|
android:exported="false" />
|
|
|
|
<service
|
|
android:name=".AccountAuthenticatorService"
|
|
android:exported="true"
|
|
android:permission="android.permission.BIND_ACCOUNT_AUTHENTICATOR">
|
|
<intent-filter>
|
|
<action android:name="android.accounts.AccountAuthenticator" />
|
|
</intent-filter>
|
|
<meta-data
|
|
android:name="android.accounts.AccountAuthenticator"
|
|
android:resource="@xml/authenticator" />
|
|
</service>
|
|
|
|
</application>
|
|
|
|
</manifest>
|