This commit is contained in:
Yamozha
2021-04-02 02:24:13 +03:00
parent c23950b545
commit 7256d79e2c
31493 changed files with 3036630 additions and 0 deletions

View File

@ -0,0 +1,25 @@
# Changelog
## Unpublished
### 🛠 Breaking changes
### 🎉 New features
### 🐛 Bug fixes
## 5.4.0 — 2020-11-17
_This version does not introduce any user-facing changes._
## 5.3.0 — 2020-08-18
_This version does not introduce any user-facing changes._
## 5.2.1 — 2020-05-29
*This version does not introduce any user-facing changes.*
## 5.2.0 — 2020-05-27
*This version does not introduce any user-facing changes.*

View File

@ -0,0 +1,29 @@
# unimodules-image-loader-interface
Interface for ImageLoader
# Installation in managed Expo projects
For managed [managed](https://docs.expo.io/versions/latest/introduction/managed-vs-bare/) Expo projects, please follow the installation instructions in the [API documentation for the latest stable release](#api-documentation). If you follow the link and there is no documentation available then this library is not yet usable within managed projects — it is likely to be included in an upcoming Expo SDK release.
# Installation in bare React Native projects
For bare React Native projects, you must ensure that you have [installed and configured the `@unimodules/core` package](https://github.com/unimodules/core) before continuing.
### Add the package to your npm dependencies
```
npm install unimodules-image-loader-interface
```
### Configure for iOS
Add the dependency to your `Podfile` and then run `npx pod-install`.
### Configure for Android
No additional set up necessary.
# Contributing
Contributions are very welcome! Please refer to guidelines described in the [contributing guide]( https://github.com/expo/expo#contributing).

View File

@ -0,0 +1,61 @@
apply plugin: 'com.android.library'
apply plugin: 'maven'
group = 'org.unimodules'
version = '5.4.0'
// Simple helper that allows the root project to override versions declared by this library.
def safeExtGet(prop, fallback) {
rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
}
// Upload android library to maven with javadoc and android sources
configurations {
deployerJars
}
// Creating sources with comments
task androidSourcesJar(type: Jar) {
classifier = 'sources'
from android.sourceSets.main.java.srcDirs
}
// Put the androidSources and javadoc to the artifacts
artifacts {
archives androidSourcesJar
}
uploadArchives {
repositories {
mavenDeployer {
configuration = configurations.deployerJars
repository(url: mavenLocal().url)
}
}
}
android {
compileSdkVersion safeExtGet("compileSdkVersion", 29)
defaultConfig {
minSdkVersion safeExtGet("minSdkVersion", 21)
targetSdkVersion safeExtGet("targetSdkVersion", 29)
versionCode 15
versionName "5.4.0"
}
lintOptions {
abortOnError false
}
}
if (new File(rootProject.projectDir.parentFile, 'package.json').exists()) {
apply from: project(":unimodules-core").file("../unimodules-core.gradle")
} else {
throw new GradleException(
"'unimodules-core.gradle' was not found in the usual React Native dependency location. " +
"This package can only be used in such projects. Are you sure you've installed the dependencies properly?")
}
dependencies {
api "androidx.annotation:annotation:1.0.0"
}

View File

@ -0,0 +1,5 @@
<manifest package="org.unimodules.interfaces.imageloader">
</manifest>

View File

@ -0,0 +1,36 @@
package org.unimodules.interfaces.imageloader;
import android.graphics.Bitmap;
import java.util.concurrent.Future;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
public interface ImageLoader {
interface ResultListener {
void onSuccess(@NonNull Bitmap bitmap);
void onFailure(@Nullable Throwable cause);
}
/**
* Loads image into memory that might be cached and downsampled if necessary.
*/
Future<Bitmap> loadImageForDisplayFromURL(@NonNull String url);
/**
* Loads image into memory that might be cached and downsampled if necessary.
*/
void loadImageForDisplayFromURL(@NonNull String url, ResultListener resultListener);
/**
* Loads full-sized image with no caching.
*/
Future<Bitmap> loadImageForManipulationFromURL(@NonNull String url);
/**
* Loads full-sized image with no caching.
*/
void loadImageForManipulationFromURL(@NonNull String url, ResultListener resultListener);
}

View File

@ -0,0 +1 @@
module.exports = null;

View File

@ -0,0 +1,18 @@
require 'json'
package = JSON.parse(File.read(File.join(__dir__, '..', 'package.json')))
Pod::Spec.new do |s|
s.name = 'UMImageLoaderInterface'
s.version = package['version']
s.summary = package['description']
s.description = package['description']
s.license = package['license']
s.author = package['author']
s.homepage = package['homepage']
s.platform = :ios, '10.0'
s.source = { git: 'https://github.com/expo/expo.git' }
s.source_files = 'UMImageLoaderInterface/**/*.{h,m}'
s.preserve_paths = 'UMImageLoaderInterface/**/*.{h,m}'
s.requires_arc = true
end

View File

@ -0,0 +1,12 @@
// Copyright © 2018 650 Industries. All rights reserved.
#import <UIKit/UIKit.h>
typedef void (^UMImageLoaderCompletionBlock)(NSError *error, UIImage *image);
@protocol UMImageLoaderInterface <NSObject>
- (void)loadImageForURL:(NSURL *)imageURL
completionHandler:(UMImageLoaderCompletionBlock)completionHandler;
@end

View File

@ -0,0 +1,22 @@
{
"name": "unimodules-image-loader-interface",
"version": "5.4.0",
"description": "Interface for ImageLoader",
"main": "index.js",
"keywords": [
"unimodules",
"image-loader"
],
"repository": {
"type": "git",
"url": "https://github.com/expo/expo.git",
"directory": "packages/unimodules-image-loader-interface"
},
"bugs": {
"url": "https://github.com/expo/expo/issues"
},
"author": "650 Industries, Inc.",
"license": "MIT",
"homepage": "https://github.com/expo/expo/tree/master/packages/unimodules-image-loader-interface",
"gitHead": "bc6b4b3bc3cb5e44e477f145c72c07ed09588651"
}

View File

@ -0,0 +1,4 @@
{
"name": "unimodules-image-loader-interface",
"platforms": ["ios", "android"]
}