Skip to content

Commit 315ed8a

Browse files
authored
[shared_preferences] Platform implementations of async api (flutter#6965)
part 2 of flutter#5210
1 parent 99e8606 commit 315ed8a

File tree

64 files changed

+6838
-1225
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

64 files changed

+6838
-1225
lines changed

Diff for: packages/shared_preferences/shared_preferences_android/CHANGELOG.md

+4
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## 2.3.0
2+
3+
* Adds new `SharedPreferencesAsyncAndroid` API.
4+
15
## 2.2.4
26

37
* Updates lint checks to ignore NewerVersionAvailable.

Diff for: packages/shared_preferences/shared_preferences_android/android/build.gradle

+17
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,15 @@ group 'io.flutter.plugins.sharedpreferences'
22
version '1.0-SNAPSHOT'
33

44
buildscript {
5+
ext.kotlin_version = '1.7.10'
56
repositories {
67
google()
78
mavenCentral()
89
}
910

1011
dependencies {
1112
classpath 'com.android.tools.build:gradle:7.2.2'
13+
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
1214
}
1315
}
1416

@@ -28,6 +30,7 @@ allprojects {
2830
}
2931

3032
apply plugin: 'com.android.library'
33+
apply plugin: 'kotlin-android'
3134

3235
android {
3336
// Conditional for compatibility with AGP <4.2.
@@ -41,6 +44,14 @@ android {
4144
targetCompatibility JavaVersion.VERSION_1_8
4245
}
4346

47+
kotlinOptions {
48+
jvmTarget = '1.8'
49+
}
50+
51+
sourceSets {
52+
main.java.srcDirs += 'src/main/kotlin'
53+
}
54+
4455
defaultConfig {
4556
minSdkVersion 19
4657
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
@@ -51,8 +62,14 @@ android {
5162
disable 'AndroidGradlePluginVersion', 'InvalidPackage', 'GradleDependency', 'NewerVersionAvailable'
5263
}
5364
dependencies {
65+
implementation 'androidx.datastore:datastore:1.0.0'
66+
implementation 'androidx.datastore:datastore-preferences:1.0.0'
5467
testImplementation 'junit:junit:4.13.2'
68+
testImplementation 'androidx.test:core-ktx:1.5.0'
69+
testImplementation 'androidx.test.ext:junit-ktx:1.1.5'
70+
testImplementation 'org.robolectric:robolectric:4.12.1'
5571
testImplementation 'org.mockito:mockito-inline:5.2.0'
72+
testImplementation 'io.mockk:mockk:1.13.12'
5673
}
5774

5875

+6-6
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@
2727
import java.util.Map;
2828
import java.util.Set;
2929

30-
/** SharedPreferencesPlugin */
31-
public class SharedPreferencesPlugin implements FlutterPlugin, SharedPreferencesApi {
30+
/** LegacySharedPreferencesPlugin */
31+
public class LegacySharedPreferencesPlugin implements FlutterPlugin, SharedPreferencesApi {
3232
private static final String TAG = "SharedPreferencesPlugin";
3333
private static final String SHARED_PREFERENCES_NAME = "FlutterSharedPreferences";
3434
private static final String LIST_IDENTIFIER = "VGhpcyBpcyB0aGUgcHJlZml4IGZvciBhIGxpc3Qu";
@@ -38,19 +38,19 @@ public class SharedPreferencesPlugin implements FlutterPlugin, SharedPreferences
3838
private SharedPreferences preferences;
3939
private SharedPreferencesListEncoder listEncoder;
4040

41-
public SharedPreferencesPlugin() {
41+
public LegacySharedPreferencesPlugin() {
4242
this(new ListEncoder());
4343
}
4444

4545
@VisibleForTesting
46-
SharedPreferencesPlugin(@NonNull SharedPreferencesListEncoder listEncoder) {
46+
LegacySharedPreferencesPlugin(@NonNull SharedPreferencesListEncoder listEncoder) {
4747
this.listEncoder = listEncoder;
4848
}
4949

5050
private void setUp(@NonNull BinaryMessenger messenger, @NonNull Context context) {
5151
preferences = context.getSharedPreferences(SHARED_PREFERENCES_NAME, Context.MODE_PRIVATE);
5252
try {
53-
SharedPreferencesApi.setup(messenger, this);
53+
SharedPreferencesApi.setUp(messenger, this);
5454
} catch (Exception ex) {
5555
Log.e(TAG, "Received exception while setting up SharedPreferencesPlugin", ex);
5656
}
@@ -63,7 +63,7 @@ public void onAttachedToEngine(@NonNull FlutterPlugin.FlutterPluginBinding bindi
6363

6464
@Override
6565
public void onDetachedFromEngine(@NonNull FlutterPlugin.FlutterPluginBinding binding) {
66-
SharedPreferencesApi.setup(binding.getBinaryMessenger(), null);
66+
SharedPreferencesApi.setUp(binding.getBinaryMessenger(), null);
6767
}
6868

6969
@Override

Diff for: packages/shared_preferences/shared_preferences_android/android/src/main/java/io/flutter/plugins/sharedpreferences/Messages.java

+10-10
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// Copyright 2013 The Flutter Authors. All rights reserved.
22
// Use of this source code is governed by a BSD-style license that can be
33
// found in the LICENSE file.
4-
// Autogenerated from Pigeon (v9.2.5), do not edit directly.
4+
// Autogenerated from Pigeon (v16.0.4), do not edit directly.
55
// See also: https://pub.dev/packages/pigeon
66

77
package io.flutter.plugins.sharedpreferences;
@@ -88,14 +88,14 @@ public interface SharedPreferencesApi {
8888
* Sets up an instance of `SharedPreferencesApi` to handle messages through the
8989
* `binaryMessenger`.
9090
*/
91-
static void setup(
91+
static void setUp(
9292
@NonNull BinaryMessenger binaryMessenger, @Nullable SharedPreferencesApi api) {
9393
{
9494
BinaryMessenger.TaskQueue taskQueue = binaryMessenger.makeBackgroundTaskQueue();
9595
BasicMessageChannel<Object> channel =
9696
new BasicMessageChannel<>(
9797
binaryMessenger,
98-
"dev.flutter.pigeon.SharedPreferencesApi.remove",
98+
"dev.flutter.pigeon.shared_preferences_android.SharedPreferencesApi.remove",
9999
getCodec(),
100100
taskQueue);
101101
if (api != null) {
@@ -122,7 +122,7 @@ static void setup(
122122
BasicMessageChannel<Object> channel =
123123
new BasicMessageChannel<>(
124124
binaryMessenger,
125-
"dev.flutter.pigeon.SharedPreferencesApi.setBool",
125+
"dev.flutter.pigeon.shared_preferences_android.SharedPreferencesApi.setBool",
126126
getCodec(),
127127
taskQueue);
128128
if (api != null) {
@@ -150,7 +150,7 @@ static void setup(
150150
BasicMessageChannel<Object> channel =
151151
new BasicMessageChannel<>(
152152
binaryMessenger,
153-
"dev.flutter.pigeon.SharedPreferencesApi.setString",
153+
"dev.flutter.pigeon.shared_preferences_android.SharedPreferencesApi.setString",
154154
getCodec(),
155155
taskQueue);
156156
if (api != null) {
@@ -178,7 +178,7 @@ static void setup(
178178
BasicMessageChannel<Object> channel =
179179
new BasicMessageChannel<>(
180180
binaryMessenger,
181-
"dev.flutter.pigeon.SharedPreferencesApi.setInt",
181+
"dev.flutter.pigeon.shared_preferences_android.SharedPreferencesApi.setInt",
182182
getCodec(),
183183
taskQueue);
184184
if (api != null) {
@@ -207,7 +207,7 @@ static void setup(
207207
BasicMessageChannel<Object> channel =
208208
new BasicMessageChannel<>(
209209
binaryMessenger,
210-
"dev.flutter.pigeon.SharedPreferencesApi.setDouble",
210+
"dev.flutter.pigeon.shared_preferences_android.SharedPreferencesApi.setDouble",
211211
getCodec(),
212212
taskQueue);
213213
if (api != null) {
@@ -235,7 +235,7 @@ static void setup(
235235
BasicMessageChannel<Object> channel =
236236
new BasicMessageChannel<>(
237237
binaryMessenger,
238-
"dev.flutter.pigeon.SharedPreferencesApi.setStringList",
238+
"dev.flutter.pigeon.shared_preferences_android.SharedPreferencesApi.setStringList",
239239
getCodec(),
240240
taskQueue);
241241
if (api != null) {
@@ -263,7 +263,7 @@ static void setup(
263263
BasicMessageChannel<Object> channel =
264264
new BasicMessageChannel<>(
265265
binaryMessenger,
266-
"dev.flutter.pigeon.SharedPreferencesApi.clear",
266+
"dev.flutter.pigeon.shared_preferences_android.SharedPreferencesApi.clear",
267267
getCodec(),
268268
taskQueue);
269269
if (api != null) {
@@ -291,7 +291,7 @@ static void setup(
291291
BasicMessageChannel<Object> channel =
292292
new BasicMessageChannel<>(
293293
binaryMessenger,
294-
"dev.flutter.pigeon.SharedPreferencesApi.getAll",
294+
"dev.flutter.pigeon.shared_preferences_android.SharedPreferencesApi.getAll",
295295
getCodec(),
296296
taskQueue);
297297
if (api != null) {

0 commit comments

Comments
 (0)