1
0
mirror of https://github.com/oliexdev/openScale.git synced 2025-08-18 14:31:23 +02:00

Add option to enable third-party application access

Defaults to off. Needs to be enabled for the data provider to return data.
This commit is contained in:
Erik Johansson
2018-09-30 20:36:51 +02:00
parent 240a057245
commit e80c678598
3 changed files with 15 additions and 1 deletions

View File

@@ -22,6 +22,7 @@ import android.content.UriMatcher;
import android.database.Cursor;
import android.database.MatrixCursor;
import android.net.Uri;
import android.preference.PreferenceManager;
import com.health.openscale.BuildConfig;
import com.health.openscale.core.OpenScale;
@@ -86,6 +87,12 @@ public class ScaleDatabaseProvider extends android.content.ContentProvider {
public Cursor query(Uri uri, String[] projection, String selection,
String[] selectionArgs, String sortOrder) {
final Context context = getContext();
if (!PreferenceManager.getDefaultSharedPreferences(context)
.getBoolean("dataProviderEnable", false)) {
throw new UnsupportedOperationException("Provider access not enabled");
}
Cursor cursor;
switch (uriMatcher.match(uri)) {

View File

@@ -243,4 +243,5 @@
<string name="activity_level_moderate">Moderate</string>
<string name="activity_level_heavy">Heavy</string>
<string name="activity_level_extreme">Extreme</string>
<string name="label_data_provider_enable">Third-party application access</string>
</resources>

View File

@@ -23,4 +23,10 @@
android:summaryOff="@string/info_is_not_enable"
android:summaryOn="@string/info_is_enable"
android:title="@string/label_delete_confirmation" />
</PreferenceScreen>
<CheckBoxPreference
android:defaultValue="false"
android:key="dataProviderEnable"
android:summaryOff="@string/info_is_not_enable"
android:summaryOn="@string/info_is_enable"
android:title="@string/label_data_provider_enable" />
</PreferenceScreen>