summaryrefslogtreecommitdiff
path: root/app/src/main/AndroidManifest.xml
blob: a1053e3b042ec523688e9dd9f4de9c331600f98a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    <!-- For the 5am morning-fetch alarm (MorningFetchReceiver): lets it wake the device
         at an exact time even under Doze, without the much broader "ignore battery
         optimizations" exemption (user explicitly wants battery optimization left on
         otherwise). Android 12+ requires the user grant this once via Settings; MainActivity
         prompts for it if not already granted. -->
    <uses-permission android:name="android.permission.SCHEDULE_EXACT_ALARM" />

    <application
        android:label="@string/app_name"
        android:icon="@mipmap/ic_launcher"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:theme="@style/Theme.FeedReader"
        android:allowBackup="false">

        <activity
            android:name=".ui.MainActivity"
            android:exported="true"
            android:windowSoftInputMode="adjustResize">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <!--
          Share-sheet target: a URL (or plain text containing one) shared from any
          other app (browser, Twitter, etc.) lands here. Deliberately its own
          activity (not MainActivity re-handling an intent) so it can show a minimal
          "saving..." UI and finish immediately, rather than dropping the user into
          the middle of the main feed/article navigation stack.
        -->
        <activity
            android:name=".ui.ShareReceiverActivity"
            android:theme="@style/Theme.FeedReader.Dialog"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.SEND" />
                <category android:name="android.intent.category.DEFAULT" />
                <data android:mimeType="text/plain" />
            </intent-filter>
        </activity>

        <!--
          Fires the 5am morning fetch (exact alarm, set up by MorningFetchReceiver.scheduleNext,
          called from MainActivity). Also re-arms that alarm after a reboot: an exact alarm
          set via AlarmManager does NOT survive a device restart on its own.
        -->
        <receiver
            android:name=".work.MorningFetchReceiver"
            android:exported="false">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" />
            </intent-filter>
        </receiver>

    </application>
</manifest>