Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] Update react-native to 0.60.4 #263

Merged
merged 8 commits into from
Aug 6, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 25 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ This wrapper requires a valid license of PSPDFKit. Licenses are per platform. Yo

This wrapper exposes the most often used APIs from PSPDFKit. Many of our partners end up forking this wrapper and adding some custom code to achieve even greater integration with their products, using native code.

Windows is not currently supported, please use the previous version [1.24.9](https://github.com/PSPDFKit/react-native/releases/tag/1.24.9) instead.

#### Announcements

- [Announcement blog post](https://pspdfkit.com/blog/2016/react-native-module/)
Expand Down Expand Up @@ -305,10 +307,9 @@ For a more detailed description of toolbar customizations, refer to our Customiz
- Android SDK
- Android Build Tools 23.0.1 (React Native)
- Android Build Tools 28.0.3 (PSPDFKit module)
- Android Gradle plugin >= 3.2.1
- PSPDFKit >= 5.0.1
- react-native for example app >= 0.59.2
- react-native for Catalog app >= 0.57.8
- Android Gradle plugin >= 3.4.1
- PSPDFKit >= 5.4.2
- react-native >= 0.60.4

#### Getting Started

Expand All @@ -319,15 +320,12 @@ Let's create a simple app that integrates PSPDFKit and uses the react-native-psp
3. Step into your newly created app folder: `cd YourApp`.
4. Add `react-native-pspdfkit` module from GitHub: `yarn add github:PSPDFKit/react-native`.
5. Install all the dependencies for the project: `yarn install`. (Because of a [bug](https://github.com/yarnpkg/yarn/issues/2165) you may need to clean `yarn`'s cache with `yarn cache clean` before.)
6. Link module `react-native-pspdfkit`: `react-native link react-native-pspdfkit`.
7. <a id="step-7"></a>Add PSPDFKit repository to `YourApp/android/build.gradle` so PSPDFKit library can be downloaded:
6. <a id="step-7"></a>Add PSPDFKit repository to `YourApp/android/build.gradle` so PSPDFKit library can be downloaded:

```diff
allprojects {
repositories {
mavenLocal()
google()
jcenter()
+ maven {
+ url 'https://customers.pspdfkit.com/maven/'
+ credentials {
Expand All @@ -339,11 +337,18 @@ Let's create a simple app that integrates PSPDFKit and uses the react-native-psp
// All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
url "$rootDir/../node_modules/react-native/android"
}
maven {
// Android JSC is installed from npm
url("$rootDir/../node_modules/jsc-android/dist")
}

google()
jcenter()
}
}
```

8. PSPDFKit targets modern platforms, so you'll have to set the `minSdkVersion` to 19. In `YourApp/android/build.gradle`:
7. PSPDFKit targets modern platforms, so you'll have to set the `minSdkVersion` to 19. In `YourApp/android/build.gradle`:

```diff
...
Expand All @@ -358,7 +363,7 @@ Let's create a simple app that integrates PSPDFKit and uses the react-native-psp
...
```

9. We will also need to enable MultiDex support. In `YourApp/android/app/build.gradle`:
8. We will also need to enable MultiDex support. In `YourApp/android/app/build.gradle`:

```diff
...
Expand All @@ -373,7 +378,7 @@ Let's create a simple app that integrates PSPDFKit and uses the react-native-psp
...
```

10. <a id="step-10"></a>Enter your PSPDFKit license key into `YourApp/android/app/src/main/AndroidManifest.xml` file:
9. <a id="step-10"></a>Enter your PSPDFKit license key into `YourApp/android/app/src/main/AndroidManifest.xml` file:

```diff
<application>
Expand All @@ -386,7 +391,7 @@ Let's create a simple app that integrates PSPDFKit and uses the react-native-psp
</application>
```

11. Set primary color. In `YourApp/android/app/src/main/res/values/styles.xml` replace
10. Set primary color. In `YourApp/android/app/src/main/res/values/styles.xml` replace

```xml
<!-- Customize your theme here. -->
Expand All @@ -398,16 +403,15 @@ with
<item name="colorPrimary">#3C97C9</item>
```

12. <a id="step-12"></a>Replace the default component from `YourApp/App.js` with a simple touch area to present a PDF document from the local device filesystem:
11. <a id="step-12"></a>Replace the default component from `YourApp/App.js` with a simple touch area to present a PDF document from the local device filesystem:

```javascript
import React, { Component } from "react";
import {
AppRegistry,
StyleSheet,
NativeModules,
Text,
TouchableHighlight,
TouchableOpacity,
View,
PermissionsAndroid
} from "react-native";
Expand All @@ -431,9 +435,9 @@ export default class YourApp extends Component<{}> {
return (
<View style={styles.container}>
<Text>{PSPDFKit.versionString}</Text>
<TouchableHighlight onPress={this._onPressButton}>
<TouchableOpacity onPress={this._onPressButton}>
<Text style={styles.text}>Tap to Open Document</Text>
</TouchableHighlight>
</TouchableOpacity>
</View>
);
}
Expand Down Expand Up @@ -470,13 +474,13 @@ const styles = StyleSheet.create({
});
```

13. Before launching the app you need to copy a PDF document onto your development device or emulator.
12. Before launching the app you need to copy a PDF document onto your development device or emulator.

```bash
adb push /path/to/your/document.pdf /sdcard/document.pdf
```

14. Your app is now ready to launch. From `YourApp` directory run `react-native run-android`.
13. Your app is now ready to launch. From `YourApp` directory run `react-native run-android`.

```bash
react-native run-android
Expand Down Expand Up @@ -650,6 +654,8 @@ Shows the pdf `document` from the local device filesystem, or your app's assets.

### Windows UWP

Windows UWP is not currently supported, the following integration steps are for wrapper version [1.24.9](https://github.com/PSPDFKit/react-native/releases/tag/1.24.9).

#### Requirements

- Visual Studio Community 2017 or greater
Expand Down
2 changes: 1 addition & 1 deletion android/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
* Contains gradle configuration constants
*/
ext {
PSPDFKIT_VERSION = '5.0.1'
PSPDFKIT_VERSION = '5.5.0'
}

buildscript {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,9 @@
package com.pspdfkit.react;

import android.content.Context;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;

import com.facebook.react.bridge.ReadableMap;
import com.facebook.react.bridge.ReadableMapKeySetIterator;
Expand Down Expand Up @@ -44,6 +45,8 @@ public class ConfigurationAdapter {
private static final String SHOW_THUMBNAIL_BAR = "showThumbnailBar";
private static final String SHOW_THUMBNAIL_BAR_DEFAULT = "default";
private static final String SHOW_THUMBNAIL_BAR_SCROLLABLE = "scrollable";
private static final String SHOW_THUMBNAIL_BAR_FLOATING = "floating";
private static final String SHOW_THUMBNAIL_BAR_PINNED = "pinned";
private static final String SHOW_THUMBNAIL_BAR_NONE = "none";
private static final String SHOW_THUMBNAIL_GRID_ACTION = "showThumbnailGridAction";
private static final String SHOW_OUTLINE_ACTION = "showOutlineAction";
Expand Down Expand Up @@ -217,6 +220,10 @@ private void configureShowThumbnailBar(String showThumbnailBar) {
thumbnailBarMode = ThumbnailBarMode.THUMBNAIL_BAR_MODE_SCROLLABLE;
} else if (showThumbnailBar.equals(SHOW_THUMBNAIL_BAR_NONE)) {
thumbnailBarMode = ThumbnailBarMode.THUMBNAIL_BAR_MODE_NONE;
} else if (showThumbnailBar.equals(SHOW_THUMBNAIL_BAR_FLOATING)) {
thumbnailBarMode = ThumbnailBarMode.THUMBNAIL_BAR_MODE_FLOATING;
} else if (showThumbnailBar.equals(SHOW_THUMBNAIL_BAR_PINNED)) {
thumbnailBarMode = ThumbnailBarMode.THUMBNAIL_BAR_MODE_PINNED;
}
configuration.setThumbnailBarMode(thumbnailBarMode);
}
Expand Down
8 changes: 4 additions & 4 deletions android/src/main/java/com/pspdfkit/react/PSPDFKitModule.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,10 @@
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentActivity;

import com.facebook.react.bridge.ActivityEventListener;
import com.facebook.react.bridge.ReactApplicationContext;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package com.pspdfkit.react;

import android.app.Activity;
import android.support.annotation.NonNull;
import android.support.v4.app.FragmentActivity;
import androidx.annotation.NonNull;
import androidx.fragment.app.FragmentActivity;

import com.facebook.react.bridge.ReadableArray;
import com.facebook.react.bridge.ReadableMap;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.pspdfkit.react;

import android.support.annotation.NonNull;
import androidx.annotation.NonNull;

import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.bridge.ReactContextBaseJavaModule;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package com.pspdfkit.react.events;

import android.support.annotation.IdRes;
import android.support.annotation.NonNull;
import androidx.annotation.IdRes;
import androidx.annotation.NonNull;

import com.facebook.react.bridge.Arguments;
import com.facebook.react.bridge.WritableMap;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package com.pspdfkit.react.events;

import android.support.annotation.IdRes;
import android.support.annotation.NonNull;
import androidx.annotation.IdRes;
import androidx.annotation.NonNull;

import com.facebook.react.bridge.Arguments;
import com.facebook.react.bridge.WritableMap;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package com.pspdfkit.react.events;

import android.support.annotation.IdRes;
import android.support.annotation.NonNull;
import androidx.annotation.IdRes;
import androidx.annotation.NonNull;

import com.facebook.react.bridge.Arguments;
import com.facebook.react.bridge.WritableMap;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package com.pspdfkit.react.events;

import android.support.annotation.IdRes;
import android.support.annotation.NonNull;
import androidx.annotation.IdRes;
import androidx.annotation.NonNull;

import com.facebook.react.bridge.Arguments;
import com.facebook.react.bridge.WritableMap;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package com.pspdfkit.react.events;

import android.support.annotation.IdRes;
import android.support.annotation.NonNull;
import androidx.annotation.IdRes;
import androidx.annotation.NonNull;

import com.facebook.react.bridge.Arguments;
import com.facebook.react.bridge.WritableMap;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.pspdfkit.react.events;

import android.support.annotation.IdRes;
import androidx.annotation.IdRes;

import com.facebook.react.bridge.Arguments;
import com.facebook.react.bridge.WritableMap;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package com.pspdfkit.react.events;


import android.support.annotation.IdRes;
import androidx.annotation.IdRes;

import com.facebook.react.bridge.Arguments;
import com.facebook.react.bridge.WritableMap;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package com.pspdfkit.react.helper;

import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;

import com.pspdfkit.document.providers.DataProvider;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package com.pspdfkit.react.menu;

import android.content.Context;
import android.support.annotation.IdRes;
import android.support.annotation.IntRange;
import android.support.annotation.NonNull;
import androidx.annotation.IdRes;
import androidx.annotation.IntRange;
import androidx.annotation.NonNull;
import android.util.Log;

import com.facebook.react.bridge.Dynamic;
Expand Down Expand Up @@ -89,8 +89,10 @@ private int getIdFromName(@NonNull String name) {
return R.id.pspdf__annotation_creation_toolbar_item_freetext_callout;
case "signature":
return R.id.pspdf__annotation_creation_toolbar_item_signature;
case "ink":
return R.id.pspdf__annotation_creation_toolbar_item_ink;
case "pen":
return R.id.pspdf__annotation_creation_toolbar_item_ink_pen;
case "highlighter":
return R.id.pspdf__annotation_creation_toolbar_item_ink_highlighter;
case "note":
return R.id.pspdf__annotation_creation_toolbar_item_note;
case "drawing":
Expand Down
13 changes: 9 additions & 4 deletions android/src/main/java/com/pspdfkit/views/PdfView.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,10 @@

import android.content.Context;
import android.net.Uri;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.FragmentManager;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.FragmentManager;

import android.util.AttributeSet;
import android.util.Pair;
import android.view.Choreographer;
Expand Down Expand Up @@ -364,7 +365,11 @@ void manuallyLayoutChildren() {
}

private void applyThumbnailBarPadding() {
View fragmentView = findViewById(R.id.pspdf__fragment_layout);
if (fragment == null) {
return;
}

View fragmentView = fragment.getView();
if (fragmentView != null && configuration.getThumbnailBarMode() != ThumbnailBarMode.THUMBNAIL_BAR_MODE_NONE) {
fragmentView.setPadding(0, 0, 0, pdfThumbnailBar.getHeight());
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package com.pspdfkit.views;

import android.graphics.PointF;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import android.view.MotionEvent;

import com.facebook.react.uimanager.events.EventDispatcher;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.pspdfkit.views;

import android.support.annotation.NonNull;
import androidx.annotation.NonNull;

import com.pspdfkit.react.R;
import com.pspdfkit.ui.forms.FormEditingBar;
Expand Down
2 changes: 1 addition & 1 deletion index.js
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ class PSPDFKitView extends React.Component {
_onDataReturned = event => {
let { requestId, result, error } = event.nativeEvent;
let promise = this._requestMap[requestId];
if (result) {
if (result != undefined) {
promise.resolve(result);
} else {
promise.reject(error);
Expand Down
Loading