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

Commit 0d6d8891 authored by Romain Hunault's avatar Romain Hunault 💻
Browse files

Merge branch 'microg_fix_content_provider' into 'v1-q'

Microg fix content provider

See merge request !71
parents e484df78 31217677
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -102,6 +102,8 @@
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.MEDIA_CONTENT_CONTROL" />

    <uses-permission android:name="foundation.e.apps.micro.status.READ_WRITE" />

    <application android:label="@string/settings_label"
            android:icon="@mipmap/ic_launcher"
            android:theme="@style/Theme.Settings"
+24 −4
Original line number Diff line number Diff line
@@ -62,6 +62,9 @@ import com.android.settingslib.core.lifecycle.Lifecycle;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import android.database.Cursor;
import android.net.Uri;
import android.content.ContentValues;

/**
 * Dashboard fragment to display application information from Settings. This activity presents
@@ -392,10 +395,13 @@ public class AppInfoDashboardFragment extends DashboardFragment
        if (requestCode == REQUEST_UNINSTALL) {
            // Refresh option menu
                if (mAppEntry.info.packageName.equals("com.google.android.gms")){
                    Intent broadcastIntent = new Intent();
                    broadcastIntent.setAction("foundation.e.apps");
                    broadcastIntent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
                    sendImplicitBroadcast(getActivity(),broadcastIntent,"foundation.e.apps");
                    if (retrieveStatus(getActivity())!=null){
                        ContentValues values = new ContentValues();
                        values.put("installStatus","false");
                        getContentResolver().update(Uri.parse("content://foundation.e.apps.micro.status/cte"), values,  "id=?",
                                new String[]{"1"});
                    }

                }

            getActivity().invalidateOptionsMenu();
@@ -405,6 +411,20 @@ public class AppInfoDashboardFragment extends DashboardFragment
        }
    }

    public  String retrieveStatus(Context context) {
        String status = null;
        Cursor c = context.getContentResolver().query(Uri.parse("content://foundation.e.apps.micro.status/cte"), null, "id=?", new String[]{"1"}, "installStatus");
        if (c.moveToFirst()) {
            do {
                status = c.getString(c.getColumnIndex("installStatus"));
                android.util.Log.e("TAG", "retrieveStatus: " + c.getString(c.getColumnIndex("installStatus")));
            } while (c.moveToNext());
        }
        c.close();
        return status;
    }


    private void sendImplicitBroadcast(Context ctxt, Intent intent,String application) {
        try {
            PackageManager pm = ctxt.getPackageManager();