From: TrillGates Date: Thu, 8 Apr 2021 02:57:27 +0000 (+0800) Subject: add fzd prise follow provider. X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=8d6c3e848d015ad739381f315d843cecf7c42387;p=protocol_srv.git add fzd prise follow provider. --- diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index b0f5af2a..2e6354c9 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -65,6 +65,7 @@ + @@ -164,11 +165,17 @@ android:name=".provider.FZDMembersProvider" android:authorities="com.ic.fzd.video-call" android:exported="true" /> + + + \ No newline at end of file diff --git a/app/src/main/java/com/enqualcomm/support/provider/FZDFollowProvider.java b/app/src/main/java/com/enqualcomm/support/provider/FZDFollowProvider.java new file mode 100644 index 00000000..29d7c332 --- /dev/null +++ b/app/src/main/java/com/enqualcomm/support/provider/FZDFollowProvider.java @@ -0,0 +1,99 @@ +package com.enqualcomm.support.provider; + +import android.content.ContentProvider; +import android.content.ContentValues; +import android.content.UriMatcher; +import android.database.Cursor; +import android.database.sqlite.SQLiteDatabase; +import android.net.Uri; +import android.support.annotation.NonNull; +import android.support.annotation.Nullable; + +public class FZDFollowProvider extends ContentProvider { + + public static final String PATH = "follow"; + public static final String AUTHORITY = "com.ic.fzd.follow"; + public static final String FOLLOW = "content://" + AUTHORITY + "/" + PATH; + public static final String FOLLOW_ITEM = "content://" + AUTHORITY + ".item" + "/" + PATH; + + private FZDDatabaseHelper mDatabase; + + private static final UriMatcher sUriMatcher; + + private static final int MATH_CODE_TABLE = 0x1; + + static { + sUriMatcher = new UriMatcher(UriMatcher.NO_MATCH); + sUriMatcher.addURI(AUTHORITY, PATH, MATH_CODE_TABLE); + } + + @Override + public boolean onCreate() { + mDatabase = new FZDDatabaseHelper(getContext()); + return false; + } + + @Nullable + @Override + public Cursor query(@NonNull Uri uri, + @Nullable String[] projection, + @Nullable String selection, + @Nullable String[] selectionArgs, + @Nullable String sortOrder) { + //规则匹配 + if (sUriMatcher.match(uri) == MATH_CODE_TABLE) { + SQLiteDatabase readableDatabase = mDatabase.getReadableDatabase(); + return readableDatabase.query(FZDDatabaseHelper.tFollow, projection, + selection, selectionArgs, null, null, sortOrder); + } + return null; + } + + @Nullable + @Override + public String getType(@NonNull Uri uri) { + return null; + } + + @Nullable + @Override + public Uri insert(@NonNull Uri uri, @Nullable ContentValues values) { + if (sUriMatcher.match(uri) == MATH_CODE_TABLE) { + SQLiteDatabase writableDatabase = mDatabase.getWritableDatabase(); + //插入的时候通知更新 + long id = writableDatabase.insert(FZDDatabaseHelper.tFollow, null, values); + if (getContext() != null) { + getContext().getContentResolver().notifyChange( + Uri.parse(FOLLOW_ITEM), null + ); + } + return Uri.parse(FOLLOW + "/" + id); + } + return null; + } + + @Override + public int delete(@NonNull Uri uri, @Nullable String selection, @Nullable String[] selectionArgs) { + if (sUriMatcher.match(uri) == MATH_CODE_TABLE) { + SQLiteDatabase writableDatabase = mDatabase.getWritableDatabase(); + return writableDatabase.delete(FZDDatabaseHelper.tFollow, selection, selectionArgs); + } + return 0; + } + + @Override + public int update(@NonNull Uri uri, @Nullable ContentValues values, @Nullable String selection, @Nullable String[] selectionArgs) { + if (sUriMatcher.match(uri) == MATH_CODE_TABLE) { + SQLiteDatabase writableDatabase = mDatabase.getWritableDatabase(); + //通知更新 + Object state = values.get("state"); + if (state != null && getContext() != null) { + getContext().getContentResolver().notifyChange( + Uri.parse(FOLLOW_ITEM), null + ); + } + return writableDatabase.update(FZDDatabaseHelper.tFollow, values, selection, selectionArgs); + } + return 0; + } +}