itachi1706/SingBuses

View on GitHub
app/src/main/AndroidManifest.xml

Summary

Maintainability
Test Coverage
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:installLocation="internalOnly">

    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <!-- For getting your current location pre-GPS (so that you don't need GPS to run) -->
    <uses-permission android:name="android.permission.INTERNET" /> <!-- Get all the API data duh -->
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- Check if there's internet access -->
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> <!-- Receives the intent when boot completes -->
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <!-- For getting your current location pre-GPS (so that you don't need GPS to run) -->

    <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
    <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />

    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:networkSecurityConfig="@xml/network_security_config"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:theme="@style/AppTheme"
        tools:ignore="AllowBackup,GoogleAppIndexingWarning,UnusedAttribute">
        <activity
            android:name=".MainMenuActivity"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>

            <meta-data
                android:name="android.app.shortcuts"
                android:resource="@xml/static_shortcuts" />
        </activity>

        <meta-data
            android:name="android.allow_multiple_resumed_activities"
            android:value="true" />

        <activity
            android:name=".ListAllBusStopsActivity"
            android:label="@string/title_activity_list_all_bus_stops" />
        <activity
            android:name=".MainSettings"
            android:label="@string/title_activity_main_settings" />
        <activity
            android:name=".BusServicesAtStopRecyclerActivity"
            android:exported="false"
            android:label="@string/title_activity_bus_services_at_stop" />

        <service
            android:name=".Services.LocManager"
            android:exported="false"
            tools:ignore="InnerclassSeparator" />
        <!--
             The API key for Google Maps-based APIs is defined as a string resource.
             (See the file "res/values/google_maps_api.xml").
             Note that the API key is linked to the encryption key used to sign the APK.
             You need a different API key for each encryption key, including the release key that is used to
             sign the APK for publishing.
             You can define the keys for the debug and release targets in src/debug/ and src/release/. 
        -->
        <meta-data
            android:name="com.google.android.geo.API_KEY"
            android:value="${MAPS_API_KEY}" />
        <meta-data
            android:name="firebase_crashlytics_collection_enabled"
            android:value="false" />

        <activity
            android:name=".BusLocationMapsActivity"
            android:label="@string/title_activity_bus_location_maps" />

        <activity
            android:name=".FirebaseLoginActivity"
            android:label="Sign in" />
        <activity
            android:name=".BusStopsTabbedActivity"
            android:exported="false"
            android:label="@string/title_activity_add_bus_stops"
            android:theme="@style/AppTheme.NoActionBar" /> <!-- Required because FOR SOME REASON Google Maps is using the deprecated Apache HTTP? WTF Google? -->
        <uses-library
            android:name="org.apache.http.legacy"
            android:required="false" /> <!-- Used for Firebase Cloud Messaging -->
        <meta-data
            android:name="com.google.firebase.messaging.default_notification_icon"
            android:resource="@drawable/notification_icon" />
        <meta-data
            android:name="com.google.firebase.messaging.default_notification_color"
            android:resource="@color/accent" />
        <meta-data
            android:name="com.google.firebase.messaging.default_notification_channel_id"
            android:value="firebase-msg" />

        <activity
            android:name=".NTUBusActivity"
            android:exported="false"
            android:label="NTU Buses" />

        <activity android:name=".CEPASScanActivity"
            android:configChanges="keyboardHidden|orientation"
            android:label="Scan EZLink Card"
            android:exported="false"
            tools:ignore="AppLinkUrlError">
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <action android:name="android.intent.action.EDIT" />
                <action android:name="android.intent.action.PICK" />

                <category android:name="android.intent.category.DEFAULT" />

                <data android:mimeType="vnd.android.cursor.dir/${applicationId}.card" />
            </intent-filter>
        </activity>
        
        <service android:name=".tasks.UpdateDatabase"
            android:foregroundServiceType="shortService"
            android:exported="false" />
    </application>

</manifest>