Compare commits

...

6 Commits

Author SHA1 Message Date
Nick 2f7a83e9da new version 3.18.19 2025-05-14 15:13:25 +02:00
Nick 53c606ff2c new version 3.18.16 2025-05-05 09:55:26 +02:00
Nick 3d1bbd054c new version 3.18.15 2025-04-23 08:33:46 +02:00
Nick d532a8d6bb Update README.md 2025-04-17 10:50:13 +02:00
Nick 3001d8e107 new version 3.18.14 2025-04-16 16:12:01 +02:00
Nick 8b746f6219 new version 3.18.12 2025-04-11 16:58:44 +02:00
15 changed files with 23483 additions and 21463 deletions

166
README.md
View File

@ -7,22 +7,24 @@ Android SDK
- [Settings](#settings)
- [App](#app)
- [Add fragment](#fragment)
- [Keyboard support](#keyboard)
- [Troubleshooting](#troubleshooting)
- [Authors](#authors)
<a name="import"></a>
## Import
You must use git to download the sdk from [repository](https://github.com/tecnaviapress/newsmemory-android-sdk)
1. The repository is private, to clone it you must generate an ssh key, see the [guide](https://docs.github.com/en/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent)
2. Once the key is generate you must send to Tecnavia the public key and wait a confirmation that you are enabled
3. Inside root folder run the following command, replace TAG with the latest release, see the list on [releases](https://github.com/tecnaviapress/newsmemory-android-sdk/releases)
You must use git to download the sdk from [repository](https://pubgit.newsmemory.com/tecnavia/newsmemory-android-sdk)
1. Inside root folder run the following command:
```sh
git clone --depth 1 --brach TAG git@github.com:tecnaviapress/newsmemory-android-sdk.git
git clone --depth 1 --branch 3.18.19 https://pubgit.newsmemory.com/tecnavia/newsmemory-android-sdk.git
```
4. if you already has the module you could update to another release by the following commands
2. if you already has the module you could update to another release by the following commands
```sh
cd newsmemory-android-sdk
git checkout tags/TAG
git checkout tags/3.18.19
```
<a name="installation"></a>
## Installation
@ -39,7 +41,7 @@ buildscript {
}
dependencies {
classpath "com.android.tools.build:gradle:4.2.2"
classpath "com.android.tools.build:gradle:7.2.1"
classpath "com.google.gms:google-services:4.3.4"
//add crashlytics only if the aar file is included
classpath "com.google.firebase:firebase-crashlytics-gradle:2.3.0"
@ -238,6 +240,9 @@ public class YourActivity extends AppCompatActivity {
//set the SDK referrer for GA4 analytics
bundle.putString(TaConstants.TA_REFERRER, "referrer");
//querystring-like list of parameters to pass to GA4 analytics
bundle.putString(TaConstants.TA_EXTRA_GA4_PARAMS, "param1=value1&param2=value2&param3=value3");
return bundle;
}
}
@ -259,7 +264,7 @@ the following constants are required by SDK otherwise there will be some inconsi
the following constant can be used for debug builds ONLY, to monitor the load time performances
```java
bundle.putBoolean(TaConstants.TA_ENABLE_DEBUGGER_KEY, true);
bundle.putBoolean(TaConstants.TA_ENABLE_DEBUGGER, true);
```
1. The activity that load TaFragment must implement the following interface *DefaultHardwareBackBtnHandler*
@ -280,6 +285,145 @@ public class YourActivity extends TaActivity {
...
}
```
---
<a name="keyboard"></a>
## Keyboard support
On devices which support a physical or a virtual keyboard the SDK supports some shortcuts to navigate and interact with the ePaper.
### Code integration
In your activity you have to override the following callbacks and call the corresponding method on the TaFragment.
```java
public class MainActivity extends AppCompatActivity implements DefaultHardwareBackBtnHandler {
private TaFragment taFragment;
...
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
taFragment.keyDown(keyCode, event);
return super.onKeyDown(keyCode, event);
}
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
taFragment.keyUp(keyCode, event);
return super.onKeyUp(keyCode, event);
}
...
}
```
Here a list of the supported keys:
### Key groups
Some actions can be performed with more than one key, here the so-called `key groups`:
| Name | Keys |
| ---------- | --------------------------------------------------- |
| `LEFT` | `J`, `4`, `4` (NUMPAD), `LEFT ARROW` |
| `RIGHT` | `L`, `6`, `6` (NUMPAD), `RIGHT ARROW` |
| `UP` | `I`, `8`, `8` (NUMPAD), `UP ARROW` |
| `DOWN` | `K`, `2`, `2` (NUMPAD), `DOWN ARROW` |
| `PAGE_UP` | `N`, `9`, `9` (NUMPAD), `PAGE UP` |
| `PAGE_DOWN`| `M`, `3`, `3` (NUMPAD), `PAGE DOWN` |
| `OPEN` | `O`, `5`, `5` (NUMPAD), `.` (NUMPAD) |
| `SELECT` | `O`, `5`, `ENTER`, `5` (NUMPAD), `ENTER` (NUMPAD) |
| `SUBMIT` | `ENTER`, `ENTER` (NUMPAD) |
| `HOME` | `7`, `7` (NUMPAD), `HOME` |
| `END` | `1`, `1` (NUMPAD), `END` |
| `LESS` | `-`, `-` (NUMPAD) |
| `MORE` | `+`, `+` (NUMPAD) |
### Menu items
| Key(s) or Key Group | Behavior |
| --------------------------- | ---------------------------------------- |
| `ENTER` | Press menu item |
| `ESC` | Blur menu item |
| `I` | Open index mode |
| `LEFT`/`RIGHT` group, `TAB` | Navigate thru items |
| `P`, `.` (NUMPAD) | Open thumbnails mode |
| `Search` | Open search mode |
| `Space` | Toggle fit mode |
| `T` | Open accessibility mode |
### Graphic mode
| Key(s) or Key Group | Behavior |
| ------------------------------------------- | ---------------------------------------- |
| `B` | Open browse mode |
| `OPEN` group | Open first article |
| `LEFT`/`RIGHT`/`PAGE_UP`/`PAGE_DOWN` groups | Navigate thru page |
| `UP`/`DOWN` groups | Move vertically in the page |
| `MORE`/`LESS` groups | Zoom in/out in the page |
| `HOME` group | Move to previous section |
| `END` group | Move to next section |
### Index mode
| Key(s) or Key Group | Behavior |
| ------------------------------------------- | ---------------------------------------- |
| `CLOSE` group | Close index mode |
| `SPACE` group | Toggle index mode fullscreen mode |
### Index mode (2nd level)
| Key(s) or Key Group | Behavior |
| ------------------------------------------- | ---------------------------------------- |
| `CLOSE` group | Close index mode |
| `SPACE` group | Toggle index mode fullscreen mode |
| `LEFT`/`RIGHT` group | Navigate thru sections |
| `OPEN` group | Open 1st level index |
### Article mode
| Key(s) or Key Group | Behavior |
| ------------------------------------------- | ---------------------------------------------------- |
| `CLOSE` group | Close article mode (if search active, closes search) |
| `UP`/`DOWN` group | Scroll up/down the article |
| `LEFT`/`RIGHT` group | Navigate thru articles |
| `PAGE_UP`/`PAGE_DOWN` group | Go to the first article of previous/next page |
| `OPEN` group | Open 2nd level index |
| `MORE`/`LESS` groups | Zoom in/out in the article |
| `HOME` group | Move to previous article slug |
| `END` group | Move to next article slug |
| `SPACE` group | Toggle article mode fullscreen mode |
| `P` | Print |
| `S` | Share |
| `V` | Toggle text-to-speech |
| `SELECT` group | Select item (accessibility mode) |
### Thumbnail mode
| Key(s) or Key Group | Behavior |
| ------------------------------------------- | ---------------------------------------- |
| `LEFT`/`RIGHT` groups | Navigate thru thumbnails |
| `SELECT` group | Open highlighted page |
### Search mode
| Key(s) or Key Group | Behavior |
| ------------------------------------------- | ---------------------------------------- |
| `CLOSE` group | Close search mode |
### Editions page
| Key(s) or Key Group | Behavior |
| ------------------------------------------- | ---------------------------------------- |
| `CLOSE` group | Close editions page |
---
<a name="troubleshooting"></a>
## Troubleshooting Guide
@ -378,6 +522,10 @@ We suggest to add to you activity in the `onCreate` method.
```
---
<a name="authors"></a>
## Authors
Nicolò Aquilini, iOS Software developer, Tecnavia

View File

@ -11,7 +11,7 @@ buildscript {
}*/
}
dependencies {
classpath "com.android.tools.build:gradle:4.2.2"
classpath "com.android.tools.build:gradle:7.2.1"
classpath "com.google.gms:google-services:4.3.4"
//use the version suggested by react-native-firebase
//classpath "com.google.firebase:firebase-crashlytics-gradle:2.3.0"
@ -90,7 +90,7 @@ publishing {
tareactnativecookiescookies(MavenPublication) {
groupId 'tecnavia'
artifactId 'react-native-cookies_cookies'
version '6.2.0'
version '6.2.1'
artifact("$libsDirName/react-native-cookies_cookies-release.aar")
}
@ -223,7 +223,7 @@ publishing {
tareactnativetecnaviautils(MavenPublication) {
groupId 'tecnavia'
artifactId 'react-native-tecnavia-utils'
version '1.3.1'
version '1.3.2'
artifact("$libsDirName/react-native-tecnavia-utils-release.aar")
}
@ -286,7 +286,7 @@ publishing {
tatecnaviareactnativebridge(MavenPublication) {
groupId 'tecnavia'
artifactId 'tecnavia_react-native-bridge'
version '1.3.11'
version '1.3.14'
artifact("$libsDirName/tecnavia_react-native-bridge-release.aar")
}
@ -335,7 +335,7 @@ publishing {
tatecnaviareactnativewebanalytics(MavenPublication) {
groupId 'tecnavia'
artifactId 'tecnavia_react-native-web-analytics'
version '1.0.2'
version '1.2.0'
artifact("$libsDirName/tecnavia_react-native-web-analytics-release.aar")
}
@ -451,7 +451,7 @@ dependencies {
implementation "tecnavia:react-native-community_netinfo:11.4.1"
implementation "tecnavia:react-native-community_slider:2.0.9"
implementation "tecnavia:react-native-config:1.4.11"
implementation "tecnavia:react-native-cookies_cookies:6.2.0"
implementation "tecnavia:react-native-cookies_cookies:6.2.1"
implementation "tecnavia:react-native-device-info:8.7.1"
implementation "tecnavia:react-native-dynamic-fonts:0.3.2"
implementation "tecnavia:react-native-fast-image:8.5.11"
@ -470,7 +470,7 @@ dependencies {
implementation "tecnavia:react-native-splash-screen:3.2.0"
implementation "tecnavia:react-native-sqlite-storage:3.3.10"
implementation "tecnavia:react-native-svg:15.7.1"
implementation "tecnavia:react-native-tecnavia-utils:1.3.1"
implementation "tecnavia:react-native-tecnavia-utils:1.3.2"
implementation "tecnavia:react-native-text-size:3.0.0"
implementation "tecnavia:react-native-tts:4.1.1"
implementation "tecnavia:react-native-uuid-generator:6.1.1"
@ -479,14 +479,14 @@ dependencies {
implementation "tecnavia:react-native-volume-control:1.0.1"
implementation "tecnavia:react-native-webview:12.4.0"
implementation "tecnavia:rn-fetch-blob:0.11.2"
api "tecnavia:tecnavia_react-native-bridge:1.3.11"
api "tecnavia:tecnavia_react-native-bridge:1.3.14"
implementation "tecnavia:tecnavia_react-native-default-preference:1.5.0"
implementation "tecnavia:tecnavia_react-native-dfp:1.5.0"
implementation "tecnavia:tecnavia_react-native-geolocation:3.0.1"
implementation "tecnavia:tecnavia_react-native-navigation-bar-color:2.0.2"
implementation "tecnavia:tecnavia_react-native-pdf:5.1.8"
implementation "tecnavia:tecnavia_react-native-print:0.6.1"
implementation "tecnavia:tecnavia_react-native-web-analytics:1.0.2"
implementation "tecnavia:tecnavia_react-native-web-analytics:1.2.0"
implementation "tecnavia:tecnavia_react-native-zip-archive:5.2.0"
api "tecnavia:react-native:0.70.15"
implementation "tecnavia:android-jsc:1.0.0"

View File

@ -1,7 +1,7 @@
android.useAndroidX=true
APP_NAME=Android SDK
APP_VERSION_NAME=3.18.09
APP_VERSION_CODE=1742893448916
APP_VERSION_NAME=3.18.19
APP_VERSION_CODE=1747226748505
ANDROID_APP_ID=com.tecnaviaapplication
IS_ADDON=true

File diff suppressed because one or more lines are too long