Android: Fixed image picker issues
BIN
Assets/Icon-ios.psd
Normal file
Before Width: | Height: | Size: 151 KiB After Width: | Height: | Size: 151 KiB |
Before Width: | Height: | Size: 170 KiB After Width: | Height: | Size: 170 KiB |
BIN
Assets/Screenshots/Screenshot_1511192771.png
Normal file
After Width: | Height: | Size: 205 KiB |
BIN
Assets/Screenshots/Screenshot_1511192805.png
Normal file
After Width: | Height: | Size: 300 KiB |
BIN
Assets/Screenshots/Screenshot_1511193130.png
Normal file
After Width: | Height: | Size: 117 KiB |
BIN
Assets/Screenshots/Screenshot_1511193142.png
Normal file
After Width: | Height: | Size: 277 KiB |
BIN
Assets/Screenshots/Screenshot_1511193169.png
Normal file
After Width: | Height: | Size: 133 KiB |
BIN
Assets/Screenshots/Screenshot_1511193181.png
Normal file
After Width: | Height: | Size: 214 KiB |
BIN
Assets/Screenshots/Screenshot_1511193188.png
Normal file
After Width: | Height: | Size: 181 KiB |
BIN
Assets/Screenshots/Screenshot_1511193192.png
Normal file
After Width: | Height: | Size: 133 KiB |
BIN
Assets/Screenshots/iOS/Screenshot_iPad_Paysage.jpg
Normal file
After Width: | Height: | Size: 288 KiB |
BIN
Assets/Screenshots/iOS/Screenshot_iPad_Paysage.png
Normal file
After Width: | Height: | Size: 335 KiB |
BIN
Assets/Screenshots/iOS/Screenshot_iPad_Paysage.psd
Normal file
BIN
Assets/Screenshots/iOS/Screenshot_iPhone_Portrait.jpg
Normal file
After Width: | Height: | Size: 226 KiB |
BIN
Assets/Screenshots/iOS/Screenshot_iPhone_Portrait.png
Normal file
After Width: | Height: | Size: 254 KiB |
BIN
Assets/Screenshots/iOS/Screenshot_iPhone_Portrait.psd
Normal file
BIN
Assets/iOSIcons/29.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
Assets/iOSIcons/29x2.png
Normal file
After Width: | Height: | Size: 2.2 KiB |
BIN
Assets/iOSIcons/29x3.png
Normal file
After Width: | Height: | Size: 3.4 KiB |
BIN
Assets/iOSIcons/40.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
Assets/iOSIcons/40x2.png
Normal file
After Width: | Height: | Size: 3.1 KiB |
BIN
Assets/iOSIcons/40x3.png
Normal file
After Width: | Height: | Size: 5.0 KiB |
BIN
Assets/iOSIcons/57.png
Normal file
After Width: | Height: | Size: 2.1 KiB |
BIN
Assets/iOSIcons/57x2.png
Normal file
After Width: | Height: | Size: 4.8 KiB |
BIN
Assets/iOSIcons/60x2.png
Normal file
After Width: | Height: | Size: 5.0 KiB |
BIN
Assets/iOSIcons/60x3.png
Normal file
After Width: | Height: | Size: 11 KiB |
@ -841,6 +841,16 @@ msgstr ""
|
|||||||
msgid "Discard changes"
|
msgid "Discard changes"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#, javascript-format
|
||||||
|
msgid "Unsupported image type: %s"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Attach image"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Attach any other file"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Delete note"
|
msgid "Delete note"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -906,6 +906,18 @@ msgstr "Enregistrer les changements"
|
|||||||
msgid "Discard changes"
|
msgid "Discard changes"
|
||||||
msgstr "Ignorer les changements"
|
msgstr "Ignorer les changements"
|
||||||
|
|
||||||
|
#, fuzzy, javascript-format
|
||||||
|
msgid "Unsupported image type: %s"
|
||||||
|
msgstr "Lien ou message non géré : %s"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Attach image"
|
||||||
|
msgstr "Attacher un fichier"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Attach any other file"
|
||||||
|
msgstr "Attacher un fichier"
|
||||||
|
|
||||||
msgid "Delete note"
|
msgid "Delete note"
|
||||||
msgstr "Supprimer la note"
|
msgstr "Supprimer la note"
|
||||||
|
|
||||||
|
@ -841,6 +841,16 @@ msgstr ""
|
|||||||
msgid "Discard changes"
|
msgid "Discard changes"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#, javascript-format
|
||||||
|
msgid "Unsupported image type: %s"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Attach image"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Attach any other file"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Delete note"
|
msgid "Delete note"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
8
CliClient/package-lock.json
generated
@ -917,6 +917,14 @@
|
|||||||
"resolved": "https://registry.npmjs.org/node-bitmap/-/node-bitmap-0.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/node-bitmap/-/node-bitmap-0.0.1.tgz",
|
||||||
"integrity": "sha1-GA6scAPgxwdhjvMTaPYvhLKmkJE="
|
"integrity": "sha1-GA6scAPgxwdhjvMTaPYvhLKmkJE="
|
||||||
},
|
},
|
||||||
|
"node-emoji": {
|
||||||
|
"version": "1.8.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.8.1.tgz",
|
||||||
|
"integrity": "sha512-+ktMAh1Jwas+TnGodfCfjUbJKoANqPaJFN0z0iqh41eqD8dvguNzcitVSBSVK1pidz0AqGbLKcoVuVLRVZ/aVg==",
|
||||||
|
"requires": {
|
||||||
|
"lodash.toarray": "4.4.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node-fetch": {
|
"node-fetch": {
|
||||||
"version": "1.7.3",
|
"version": "1.7.3",
|
||||||
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz",
|
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz",
|
||||||
|
@ -37,6 +37,7 @@
|
|||||||
"md5": "^2.2.1",
|
"md5": "^2.2.1",
|
||||||
"mime": "^2.0.3",
|
"mime": "^2.0.3",
|
||||||
"moment": "^2.18.1",
|
"moment": "^2.18.1",
|
||||||
|
"node-emoji": "^1.8.1",
|
||||||
"node-fetch": "^1.7.1",
|
"node-fetch": "^1.7.1",
|
||||||
"node-persist": "^2.1.0",
|
"node-persist": "^2.1.0",
|
||||||
"os-tmpdir": "^1.0.2",
|
"os-tmpdir": "^1.0.2",
|
||||||
|
@ -90,8 +90,8 @@ android {
|
|||||||
applicationId "net.cozic.joplin"
|
applicationId "net.cozic.joplin"
|
||||||
minSdkVersion 16
|
minSdkVersion 16
|
||||||
targetSdkVersion 22
|
targetSdkVersion 22
|
||||||
versionCode 58
|
versionCode 62
|
||||||
versionName "0.10.45"
|
versionName "0.10.49"
|
||||||
ndk {
|
ndk {
|
||||||
abiFilters "armeabi-v7a", "x86"
|
abiFilters "armeabi-v7a", "x86"
|
||||||
}
|
}
|
||||||
|
@ -3,7 +3,6 @@ package net.cozic.joplin;
|
|||||||
import android.app.Application;
|
import android.app.Application;
|
||||||
|
|
||||||
import com.facebook.react.ReactApplication;
|
import com.facebook.react.ReactApplication;
|
||||||
import com.rnfs.RNFSPackage;
|
|
||||||
import com.imagepicker.ImagePickerPackage;
|
import com.imagepicker.ImagePickerPackage;
|
||||||
import com.facebook.react.ReactNativeHost;
|
import com.facebook.react.ReactNativeHost;
|
||||||
import com.facebook.react.ReactPackage;
|
import com.facebook.react.ReactPackage;
|
||||||
@ -32,8 +31,7 @@ public class MainApplication extends Application implements ReactApplication {
|
|||||||
return Arrays.<ReactPackage>asList(
|
return Arrays.<ReactPackage>asList(
|
||||||
new ImageResizerPackage(),
|
new ImageResizerPackage(),
|
||||||
new MainReactPackage(),
|
new MainReactPackage(),
|
||||||
new RNFSPackage(),
|
new ImagePickerPackage(),
|
||||||
new ImagePickerPackage(),
|
|
||||||
new ReactNativeDocumentPicker(),
|
new ReactNativeDocumentPicker(),
|
||||||
new RNFetchBlobPackage(),
|
new RNFetchBlobPackage(),
|
||||||
new RNFSPackage(),
|
new RNFSPackage(),
|
||||||
|
@ -5,7 +5,7 @@ buildscript {
|
|||||||
jcenter()
|
jcenter()
|
||||||
}
|
}
|
||||||
dependencies {
|
dependencies {
|
||||||
classpath 'com.android.tools.build:gradle:2.2.+'
|
classpath 'com.android.tools.build:gradle:2.2.3'
|
||||||
|
|
||||||
// NOTE: Do not place your application dependencies here; they belong
|
// NOTE: Do not place your application dependencies here; they belong
|
||||||
// in the individual module build.gradle files
|
// in the individual module build.gradle files
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
cd android
|
cd android
|
||||||
gradlew.bat installDebug
|
gradlew.bat installDebug --console plain
|
@ -78,13 +78,15 @@ class NoteBodyViewer extends Component {
|
|||||||
// rule "img { max-width: 100% }", works like scalesPageToFix=true on Android.
|
// rule "img { max-width: 100% }", works like scalesPageToFix=true on Android.
|
||||||
// So we use scalesPageToFix=false on iOS along with that CSS rule.
|
// So we use scalesPageToFix=false on iOS along with that CSS rule.
|
||||||
|
|
||||||
|
// `baseUrl` is where the images will be loaded from. So images must use a path relative to resourceDir.
|
||||||
|
const source = { html: html, baseUrl: 'file://' + Setting.value('resourceDir') + '/' };
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<View style={style}>
|
<View style={style}>
|
||||||
<WebView
|
<WebView
|
||||||
scalesPageToFit={Platform.OS !== 'ios'}
|
scalesPageToFit={Platform.OS !== 'ios'}
|
||||||
style={webViewStyle}
|
style={webViewStyle}
|
||||||
{/* baseUrl is where the images will be loaded from. So images must use a path relative to resourceDir. */}
|
source={source}
|
||||||
source={{ html: html, baseUrl: 'file://' + Setting.value('resourceDir') + '/' }}
|
|
||||||
onLoadEnd={() => this.onLoadEnd()}
|
onLoadEnd={() => this.onLoadEnd()}
|
||||||
onError={(e) => reg.logger().error('WebView error', e) }
|
onError={(e) => reg.logger().error('WebView error', e) }
|
||||||
onMessage={(event) => {
|
onMessage={(event) => {
|
||||||
|
@ -350,8 +350,12 @@ class NoteScreenComponent extends BaseScreenComponent {
|
|||||||
|
|
||||||
let output = [];
|
let output = [];
|
||||||
|
|
||||||
output.push({ title: _('Attach image'), onPress: () => { this.attachImage_onPress(); } });
|
// The file attachement modules only work in Android >= 5 (Version 21)
|
||||||
output.push({ title: _('Attach any other file'), onPress: () => { this.attachFile_onPress(); } });
|
// https://github.com/react-community/react-native-image-picker/issues/606
|
||||||
|
if (Platform.Version >= 21) {
|
||||||
|
output.push({ title: _('Attach image'), onPress: () => { this.attachImage_onPress(); } });
|
||||||
|
output.push({ title: _('Attach any other file'), onPress: () => { this.attachFile_onPress(); } });
|
||||||
|
}
|
||||||
output.push({ title: _('Delete note'), onPress: () => { this.deleteNote_onPress(); } });
|
output.push({ title: _('Delete note'), onPress: () => { this.deleteNote_onPress(); } });
|
||||||
|
|
||||||
// if (isTodo) {
|
// if (isTodo) {
|
||||||
|