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

Commit a3ec00c6 authored by Jason Monk's avatar Jason Monk Committed by android-build-merger
Browse files

Merge "Fix first-time slice permission grants" into pi-dev am: 9959b366

am: c71f4fea

Change-Id: I3901736c83f7f49a4785b5755eb88e2e1345e82f
parents 5b17c7b5 c71f4fea
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -251,6 +251,9 @@ public class SlicePermissionManager implements DirtyTracker {
            }
            // Can't read or no permissions exist, create a clean object.
            client = new SliceClientPermissions(pkgUser, this);
            synchronized (mCachedClients) {
                mCachedClients.put(pkgUser, client);
            }
        }
        return client;
    }
@@ -278,6 +281,9 @@ public class SlicePermissionManager implements DirtyTracker {
            }
            // Can't read or no permissions exist, create a clean object.
            provider = new SliceProviderPermissions(pkgUser, this);
            synchronized (mCachedProviders) {
                mCachedProviders.put(pkgUser, provider);
            }
        }
        return provider;
    }
+14 −1
Original line number Diff line number Diff line
@@ -26,7 +26,6 @@ import android.support.test.filters.SmallTest;
import android.testing.AndroidTestingRunner;
import android.testing.TestableLooper;
import android.testing.TestableLooper.RunWithLooper;
import android.util.Log;
import android.util.Xml.Encoding;

import com.android.server.UiServiceTestCase;
@@ -48,6 +47,20 @@ import java.io.IOException;
@RunWithLooper
public class SlicePermissionManagerTest extends UiServiceTestCase {

    @Test
    public void testGrant() {
        File sliceDir = new File(mContext.getDataDir(), "system/slices");
        SlicePermissionManager permissions = new SlicePermissionManager(mContext,
                TestableLooper.get(this).getLooper(), sliceDir);
        Uri uri = new Builder().scheme(ContentResolver.SCHEME_CONTENT)
                .authority("authority")
                .path("something").build();

        permissions.grantSliceAccess("my.pkg", 0, "provider.pkg", 0, uri);

        assertTrue(permissions.hasPermission("my.pkg", 0, uri));
    }

    @Test
    public void testBackup() throws XmlPullParserException, IOException {
        File sliceDir = new File(mContext.getDataDir(), "system/slices");