Skip to content

Commit 2baecd3

Browse files
Raúl Gómez Acuñasatya164
authored andcommitted
RN compatibility for versions < 0.47 (#38)
1 parent 7241777 commit 2baecd3

3 files changed

Lines changed: 49 additions & 39 deletions

File tree

android/src/main/java/io/callstack/react_native_material_palette/MaterialPaletteModule.kt

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -125,10 +125,10 @@ class MaterialPaletteModule(reactContext: ReactApplicationContext) : ReactContex
125125
val uri: Uri
126126

127127
try {
128-
uri = Uri.parse(source.getString("uri"));
128+
uri = Uri.parse(source.getString("uri"))
129129
} catch(error: IOException) {
130130
promise.reject(ERR_INVALID_URI, "The URI provided is not valid")
131-
return;
131+
return
132132
}
133133

134134
if (uri.scheme == "http" || uri.scheme == "https") {
@@ -140,23 +140,23 @@ class MaterialPaletteModule(reactContext: ReactApplicationContext) : ReactContex
140140
.setLowestPermittedRequestLevel(RequestLevel.FULL_FETCH)
141141
.build()
142142

143-
val imagePipeline = Fresco.getImagePipeline();
144-
val dataSource = imagePipeline.fetchEncodedImage(imageRequest, reactApplicationContext);
143+
val imagePipeline = Fresco.getImagePipeline()
144+
val dataSource = imagePipeline.fetchEncodedImage(imageRequest, reactApplicationContext)
145145

146146
val dataSubscriber = object: BaseDataSubscriber<CloseableReference<PooledByteBuffer>>() {
147147
override fun onNewResultImpl(dataSource: DataSource<CloseableReference<PooledByteBuffer>>) {
148-
if (!dataSource.isFinished()) {
149-
return;
148+
if (!dataSource.isFinished) {
149+
return
150150
}
151151

152-
val result = dataSource.getResult()
152+
val result = dataSource.result
153153

154154
if (result == null) {
155-
promise.reject(ERR_DOWNLOAD, "Failed to download image");
156-
return;
155+
promise.reject(ERR_DOWNLOAD, "Failed to download image")
156+
return
157157
}
158158

159-
val inputStream = PooledByteBufferInputStream(result.get());
159+
val inputStream = PooledByteBufferInputStream(result.get())
160160

161161
try {
162162
val bitmap = BitmapFactory.decodeStream(inputStream)
@@ -165,28 +165,28 @@ class MaterialPaletteModule(reactContext: ReactApplicationContext) : ReactContex
165165
promise.resolve(result)
166166
})
167167
} catch (e: Exception) {
168-
promise.reject(e);
168+
promise.reject(e)
169169
} finally {
170-
Closeables.closeQuietly(inputStream);
170+
Closeables.closeQuietly(inputStream)
171171
}
172172
}
173173

174174
override fun onFailureImpl(dataSource: DataSource<CloseableReference<PooledByteBuffer>>) {
175-
promise.reject(dataSource.failureCause);
175+
promise.reject(dataSource.failureCause)
176176
}
177177
}
178178

179-
dataSource.subscribe(dataSubscriber, CallerThreadExecutor.getInstance());
179+
dataSource.subscribe(dataSubscriber, CallerThreadExecutor.getInstance())
180180
} else {
181181
try {
182-
val bitmap = MediaStore.Images.Media.getBitmap(reactApplicationContext.contentResolver, uri);
182+
val bitmap = MediaStore.Images.Media.getBitmap(reactApplicationContext.contentResolver, uri)
183183

184184
getPalettesFromImage(bitmap, options, {
185185
result ->
186186
promise.resolve(result)
187-
});
187+
})
188188
} catch (e: Exception) {
189-
promise.reject(e);
189+
promise.reject(e)
190190
}
191191
}
192192
}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
package io.callstack.react_native_material_palette;
2+
3+
import com.facebook.react.ReactPackage;
4+
import com.facebook.react.bridge.JavaScriptModule;
5+
import com.facebook.react.bridge.NativeModule;
6+
import com.facebook.react.bridge.ReactApplicationContext;
7+
import com.facebook.react.uimanager.ViewManager;
8+
import java.util.*;
9+
10+
public class MaterialPalettePackage implements ReactPackage {
11+
12+
// Deprecated RN 0.47
13+
public List<Class<? extends JavaScriptModule>> createJSModules() {
14+
return Collections.emptyList();
15+
}
16+
17+
@Override
18+
public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
19+
return Collections.emptyList();
20+
}
21+
22+
@Override
23+
public List<NativeModule> createNativeModules(
24+
ReactApplicationContext reactContext) {
25+
List<NativeModule> modules = new ArrayList<>();
26+
27+
modules.add(new MaterialPaletteModule(reactContext));
28+
29+
return modules;
30+
}
31+
32+
}

android/src/main/java/io/callstack/react_native_material_palette/MaterialPalettePackage.kt

Lines changed: 0 additions & 22 deletions
This file was deleted.

0 commit comments

Comments
 (0)