Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4e0a3a79 authored by Seweryn Fornalik's avatar Seweryn Fornalik
Browse files

Try to force real location (failed)

parent d9684ff0
Loading
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="foundation.e.privacycentralapp">

    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
    <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS"
        tools:ignore="ProtectedPermissions"
        />
    <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL"
        tools:ignore="ProtectedPermissions"
        />

    <application
        android:name=".PrivacyCentralApplication"
+1 −1
Original line number Diff line number Diff line
@@ -179,7 +179,7 @@ class FakeLocationFeature(
                        }
                    }
                    is Action.UseRealLocationAction -> {
                        action.locationApiDelegate.stopFakeLocation()
                        action.locationApiDelegate.startRealLocation()
                        val success = DummyDataSource.setLocationMode(LocationMode.REAL_LOCATION)
                        if (success) {
                            flowOf(
+1 −0
Original line number Diff line number Diff line
@@ -185,6 +185,7 @@ class FakeLocationFragment :
                }
            }
        }
        locationApiDelegate.startRealLocation()
    }

    override fun onAttach(context: Context) {
+19 −0
Original line number Diff line number Diff line
@@ -50,6 +50,10 @@ class LocationApiDelegate(

    fun stopFakeLocation() {
        try {
            permissionsModule.setAppOpMode(
                appDesc, AppOpsManager.OPSTR_MOCK_LOCATION,
                AppOpModes.IGNORED
            )
            permissionsModule.setAppOpMode(
                appDesc, AppOpsManager.OPSTR_MOCK_LOCATION,
                AppOpModes.IGNORED
@@ -59,4 +63,19 @@ class LocationApiDelegate(
            Log.e(TAG, "Can't stop FakeLocation", e)
        }
    }
    fun startRealLocation() {
        stopFakeLocation()
        try {
            permissionsModule.setAppOpMode(
                appDesc, AppOpsManager.OPSTR_COARSE_LOCATION,
                AppOpModes.ALLOWED
            )
            permissionsModule.setAppOpMode(
                appDesc, AppOpsManager.OPSTR_FINE_LOCATION,
                AppOpModes.ALLOWED
            )
        } catch (e: Exception) {
            Log.e(TAG, "Can't start RealLocation", e)
        }
    }
}