Change package name

Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
2023-07-12 12:49:59 +03:00
parent 952bd591dd
commit ce8ef46c20
12 changed files with 263 additions and 76 deletions

View File

@@ -73,9 +73,9 @@ android {
compileSdkVersion rootProject.ext.compileSdkVersion
namespace "com.terminallyonline"
namespace "com.karaolidis.terminallyonline"
defaultConfig {
applicationId "com.terminallyonline"
applicationId "com.karaolidis.terminallyonline"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 1

View File

@@ -4,7 +4,7 @@
* <p>This source code is licensed under the MIT license found in the LICENSE file in the root
* directory of this source tree.
*/
package com.terminallyonline;
package com.karaolidis.terminallyonline;
import android.content.Context;
import com.facebook.flipper.android.AndroidFlipperClient;

View File

@@ -1,4 +1,4 @@
package com.terminallyonline;
package com.karaolidis.terminallyonline;
import com.facebook.react.ReactActivity;
import com.facebook.react.ReactActivityDelegate;

View File

@@ -0,0 +1,61 @@
package com.karaolidis.terminallyonline;
import android.app.Application;
import com.facebook.react.PackageList;
import com.facebook.react.ReactApplication;
import com.facebook.react.ReactNativeHost;
import com.facebook.react.ReactPackage;
import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint;
import com.facebook.react.defaults.DefaultReactNativeHost;
import com.facebook.soloader.SoLoader;
import java.util.List;
public class MainApplication extends Application implements ReactApplication {
private final ReactNativeHost mReactNativeHost = new DefaultReactNativeHost(this) {
@Override
public boolean getUseDeveloperSupport() {
return BuildConfig.DEBUG;
}
@Override
protected List<ReactPackage> getPackages() {
@SuppressWarnings("UnnecessaryLocalVariable")
List<ReactPackage> packages = new PackageList(this).getPackages();
// Packages that cannot be autolinked yet can be added manually here, for example:
// packages.add(new MyReactNativePackage());
return packages;
}
@Override
protected String getJSMainModuleName() {
return "index";
}
@Override
protected boolean isNewArchEnabled() {
return BuildConfig.IS_NEW_ARCHITECTURE_ENABLED;
}
@Override
protected Boolean isHermesEnabled() {
return BuildConfig.IS_HERMES_ENABLED;
}
};
@Override
public ReactNativeHost getReactNativeHost() {
return mReactNativeHost;
}
@Override
public void onCreate() {
super.onCreate();
SoLoader.init(this, /* native exopackage */ false);
if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) {
// If you opted-in for the New Architecture, we load the native entry point for this app.
DefaultNewArchitectureEntryPoint.load();
}
ReactNativeFlipper.initializeFlipper(this, getReactNativeHost().getReactInstanceManager());
}
}

View File

@@ -1,62 +0,0 @@
package com.terminallyonline;
import android.app.Application;
import com.facebook.react.PackageList;
import com.facebook.react.ReactApplication;
import com.facebook.react.ReactNativeHost;
import com.facebook.react.ReactPackage;
import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint;
import com.facebook.react.defaults.DefaultReactNativeHost;
import com.facebook.soloader.SoLoader;
import java.util.List;
public class MainApplication extends Application implements ReactApplication {
private final ReactNativeHost mReactNativeHost =
new DefaultReactNativeHost(this) {
@Override
public boolean getUseDeveloperSupport() {
return BuildConfig.DEBUG;
}
@Override
protected List<ReactPackage> getPackages() {
@SuppressWarnings("UnnecessaryLocalVariable")
List<ReactPackage> packages = new PackageList(this).getPackages();
// Packages that cannot be autolinked yet can be added manually here, for example:
// packages.add(new MyReactNativePackage());
return packages;
}
@Override
protected String getJSMainModuleName() {
return "index";
}
@Override
protected boolean isNewArchEnabled() {
return BuildConfig.IS_NEW_ARCHITECTURE_ENABLED;
}
@Override
protected Boolean isHermesEnabled() {
return BuildConfig.IS_HERMES_ENABLED;
}
};
@Override
public ReactNativeHost getReactNativeHost() {
return mReactNativeHost;
}
@Override
public void onCreate() {
super.onCreate();
SoLoader.init(this, /* native exopackage */ false);
if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) {
// If you opted-in for the New Architecture, we load the native entry point for this app.
DefaultNewArchitectureEntryPoint.load();
}
ReactNativeFlipper.initializeFlipper(this, getReactNativeHost().getReactInstanceManager());
}
}

View File

@@ -4,7 +4,7 @@
* <p>This source code is licensed under the MIT license found in the LICENSE file in the root
* directory of this source tree.
*/
package com.terminallyonline;
package com.karaolidis.terminallyonline;
import android.content.Context;
import com.facebook.react.ReactInstanceManager;

119
package-lock.json generated
View File

@@ -10,6 +10,7 @@
"hasInstallScript": true,
"dependencies": {
"@bankify/redux-persist-realm": "^0.1.3",
"@react-native-clipboard/clipboard": "^1.11.2",
"@react-navigation/bottom-tabs": "^6.5.8",
"@react-navigation/native": "^6.1.7",
"@react-navigation/native-stack": "^6.9.13",
@@ -27,7 +28,9 @@
"react-native-safe-area-context": "^4.6.4",
"react-native-scoped-storage": "^1.9.3",
"react-native-screens": "^3.22.1",
"react-native-share": "^9.2.2",
"react-native-vector-icons": "^9.2.0",
"react-native-video": "^5.2.1",
"react-redux": "^8.1.1",
"realm": "^11.10.1",
"redux-persist": "^6.0.0"
@@ -3034,6 +3037,15 @@
"node": ">= 8"
}
},
"node_modules/@react-native-clipboard/clipboard": {
"version": "1.11.2",
"resolved": "https://registry.npmjs.org/@react-native-clipboard/clipboard/-/clipboard-1.11.2.tgz",
"integrity": "sha512-bHyZVW62TuleiZsXNHS1Pv16fWc0fh8O9WvBzl4h2fykqZRW9a+Pv/RGTH56E3X2PqzHP38K5go8zmCZUoIsoQ==",
"peerDependencies": {
"react": ">=16.0",
"react-native": ">=0.57.0"
}
},
"node_modules/@react-native-community/cli": {
"version": "11.3.3",
"resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-11.3.3.tgz",
@@ -4703,6 +4715,11 @@
"metro-runtime": "0.76.7"
}
},
"node_modules/@react-native/normalize-color": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/@react-native/normalize-color/-/normalize-color-2.1.0.tgz",
"integrity": "sha512-Z1jQI2NpdFJCVgpY+8Dq/Bt3d+YUi1928Q+/CZm/oh66fzM0RUl54vvuXlPJKybH4pdCZey1eDTPaLHkMPNgWA=="
},
"node_modules/@react-native/normalize-colors": {
"version": "0.72.0",
"resolved": "https://registry.npmjs.org/@react-native/normalize-colors/-/normalize-colors-0.72.0.tgz",
@@ -7042,6 +7059,11 @@
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.455.tgz",
"integrity": "sha512-8tgdX0Odl24LtmLwxotpJCVjIndN559AvaOtd67u+2mo+IDsgsTF580NB+uuDCqsHw8yFg53l5+imFV9Fw3cbA=="
},
"node_modules/eme-encryption-scheme-polyfill": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/eme-encryption-scheme-polyfill/-/eme-encryption-scheme-polyfill-2.1.1.tgz",
"integrity": "sha512-njD17wcUrbqCj0ArpLu5zWXtaiupHb/2fIUQGdInf83GlI+Q6mmqaPGLdrke4savKAu15J/z1Tg/ivDgl14g0g=="
},
"node_modules/emittery": {
"version": "0.13.1",
"resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz",
@@ -11296,6 +11318,11 @@
"node": ">=4.0"
}
},
"node_modules/keymirror": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/keymirror/-/keymirror-0.1.1.tgz",
"integrity": "sha512-vIkZAFWoDijgQT/Nvl2AHCMmnegN2ehgTPYuyy2hWQkQSntI0S7ESYqdLkoSe1HyEBFHHkCgSIvVdSEiWwKvCg=="
},
"node_modules/kind-of": {
"version": "6.0.3",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
@@ -14057,6 +14084,11 @@
"react-native": "*"
}
},
"node_modules/react-native-share": {
"version": "9.2.2",
"resolved": "https://registry.npmjs.org/react-native-share/-/react-native-share-9.2.2.tgz",
"integrity": "sha512-z99dvVuSvVfQ7VwrO+JWdfurAgDpkMvdZYmqIDG9HX8RHXIqU6oNVx2ePuNWXn4UgySyFjMUKjGv99njM0934Q=="
},
"node_modules/react-native-vector-icons": {
"version": "9.2.0",
"resolved": "https://registry.npmjs.org/react-native-vector-icons/-/react-native-vector-icons-9.2.0.tgz",
@@ -14070,6 +14102,27 @@
"generate-icon": "bin/generate-icon.js"
}
},
"node_modules/react-native-video": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/react-native-video/-/react-native-video-5.2.1.tgz",
"integrity": "sha512-aJlr9MeTuQ0LpZ4n+EC9RvhoKeiPbLtI2Rxy8u7zo/wzGevbRpWHSBj9xZ5YDBXnAVXzuqyNIkGhdw7bfdIBZw==",
"dependencies": {
"deprecated-react-native-prop-types": "^2.2.0",
"keymirror": "^0.1.1",
"prop-types": "^15.7.2",
"shaka-player": "^2.5.9"
}
},
"node_modules/react-native-video/node_modules/deprecated-react-native-prop-types": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/deprecated-react-native-prop-types/-/deprecated-react-native-prop-types-2.3.0.tgz",
"integrity": "sha512-pWD0voFtNYxrVqvBMYf5gq3NA2GCpfodS1yNynTPc93AYA/KEMGeWDqqeUB6R2Z9ZofVhks2aeJXiuQqKNpesA==",
"dependencies": {
"@react-native/normalize-color": "*",
"invariant": "*",
"prop-types": "*"
}
},
"node_modules/react-native/node_modules/@jest/types": {
"version": "26.6.2",
"resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
@@ -15092,6 +15145,15 @@
"resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
"integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="
},
"node_modules/shaka-player": {
"version": "2.5.23",
"resolved": "https://registry.npmjs.org/shaka-player/-/shaka-player-2.5.23.tgz",
"integrity": "sha512-3MC9k0OXJGw8AZ4n/ZNCZS2yDxx+3as5KgH6Tx4Q5TRboTBBCu6dYPI5vp1DxKeyU12MBN1Zcbs7AKzXv2EnCg==",
"deprecated": "Shaka Player < v3.2 is no longer supported.",
"dependencies": {
"eme-encryption-scheme-polyfill": "^2.0.1"
}
},
"node_modules/shallow-clone": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz",
@@ -18555,6 +18617,12 @@
"fastq": "^1.6.0"
}
},
"@react-native-clipboard/clipboard": {
"version": "1.11.2",
"resolved": "https://registry.npmjs.org/@react-native-clipboard/clipboard/-/clipboard-1.11.2.tgz",
"integrity": "sha512-bHyZVW62TuleiZsXNHS1Pv16fWc0fh8O9WvBzl4h2fykqZRW9a+Pv/RGTH56E3X2PqzHP38K5go8zmCZUoIsoQ==",
"requires": {}
},
"@react-native-community/cli": {
"version": "11.3.3",
"resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-11.3.3.tgz",
@@ -19827,6 +19895,11 @@
"metro-runtime": "0.76.7"
}
},
"@react-native/normalize-color": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/@react-native/normalize-color/-/normalize-color-2.1.0.tgz",
"integrity": "sha512-Z1jQI2NpdFJCVgpY+8Dq/Bt3d+YUi1928Q+/CZm/oh66fzM0RUl54vvuXlPJKybH4pdCZey1eDTPaLHkMPNgWA=="
},
"@react-native/normalize-colors": {
"version": "0.72.0",
"resolved": "https://registry.npmjs.org/@react-native/normalize-colors/-/normalize-colors-0.72.0.tgz",
@@ -21616,6 +21689,11 @@
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.455.tgz",
"integrity": "sha512-8tgdX0Odl24LtmLwxotpJCVjIndN559AvaOtd67u+2mo+IDsgsTF580NB+uuDCqsHw8yFg53l5+imFV9Fw3cbA=="
},
"eme-encryption-scheme-polyfill": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/eme-encryption-scheme-polyfill/-/eme-encryption-scheme-polyfill-2.1.1.tgz",
"integrity": "sha512-njD17wcUrbqCj0ArpLu5zWXtaiupHb/2fIUQGdInf83GlI+Q6mmqaPGLdrke4savKAu15J/z1Tg/ivDgl14g0g=="
},
"emittery": {
"version": "0.13.1",
"resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz",
@@ -24730,6 +24808,11 @@
"object.values": "^1.1.6"
}
},
"keymirror": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/keymirror/-/keymirror-0.1.1.tgz",
"integrity": "sha512-vIkZAFWoDijgQT/Nvl2AHCMmnegN2ehgTPYuyy2hWQkQSntI0S7ESYqdLkoSe1HyEBFHHkCgSIvVdSEiWwKvCg=="
},
"kind-of": {
"version": "6.0.3",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
@@ -26966,6 +27049,11 @@
"warn-once": "^0.1.0"
}
},
"react-native-share": {
"version": "9.2.2",
"resolved": "https://registry.npmjs.org/react-native-share/-/react-native-share-9.2.2.tgz",
"integrity": "sha512-z99dvVuSvVfQ7VwrO+JWdfurAgDpkMvdZYmqIDG9HX8RHXIqU6oNVx2ePuNWXn4UgySyFjMUKjGv99njM0934Q=="
},
"react-native-vector-icons": {
"version": "9.2.0",
"resolved": "https://registry.npmjs.org/react-native-vector-icons/-/react-native-vector-icons-9.2.0.tgz",
@@ -26975,6 +27063,29 @@
"yargs": "^16.1.1"
}
},
"react-native-video": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/react-native-video/-/react-native-video-5.2.1.tgz",
"integrity": "sha512-aJlr9MeTuQ0LpZ4n+EC9RvhoKeiPbLtI2Rxy8u7zo/wzGevbRpWHSBj9xZ5YDBXnAVXzuqyNIkGhdw7bfdIBZw==",
"requires": {
"deprecated-react-native-prop-types": "^2.2.0",
"keymirror": "^0.1.1",
"prop-types": "^15.7.2",
"shaka-player": "^2.5.9"
},
"dependencies": {
"deprecated-react-native-prop-types": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/deprecated-react-native-prop-types/-/deprecated-react-native-prop-types-2.3.0.tgz",
"integrity": "sha512-pWD0voFtNYxrVqvBMYf5gq3NA2GCpfodS1yNynTPc93AYA/KEMGeWDqqeUB6R2Z9ZofVhks2aeJXiuQqKNpesA==",
"requires": {
"@react-native/normalize-color": "*",
"invariant": "*",
"prop-types": "*"
}
}
}
},
"react-redux": {
"version": "8.1.1",
"resolved": "https://registry.npmjs.org/react-redux/-/react-redux-8.1.1.tgz",
@@ -27590,6 +27701,14 @@
"resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
"integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="
},
"shaka-player": {
"version": "2.5.23",
"resolved": "https://registry.npmjs.org/shaka-player/-/shaka-player-2.5.23.tgz",
"integrity": "sha512-3MC9k0OXJGw8AZ4n/ZNCZS2yDxx+3as5KgH6Tx4Q5TRboTBBCu6dYPI5vp1DxKeyU12MBN1Zcbs7AKzXv2EnCg==",
"requires": {
"eme-encryption-scheme-polyfill": "^2.0.1"
}
},
"shallow-clone": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz",

View File

@@ -15,6 +15,7 @@
},
"dependencies": {
"@bankify/redux-persist-realm": "^0.1.3",
"@react-native-clipboard/clipboard": "^1.11.2",
"@react-navigation/bottom-tabs": "^6.5.8",
"@react-navigation/native": "^6.1.7",
"@react-navigation/native-stack": "^6.9.13",
@@ -32,7 +33,9 @@
"react-native-safe-area-context": "^4.6.4",
"react-native-scoped-storage": "^1.9.3",
"react-native-screens": "^3.22.1",
"react-native-share": "^9.2.2",
"react-native-vector-icons": "^9.2.0",
"react-native-video": "^5.2.1",
"react-redux": "^8.1.1",
"realm": "^11.10.1",
"redux-persist": "^6.0.0"

View File

@@ -0,0 +1,71 @@
diff --git a/node_modules/@react-native-clipboard/clipboard/android/src/main/java/com/reactnativecommunity/clipboard/ClipboardModule.java b/node_modules/@react-native-clipboard/clipboard/android/src/main/java/com/reactnativecommunity/clipboard/ClipboardModule.java
index 048ebe5..8afa5b2 100644
--- a/node_modules/@react-native-clipboard/clipboard/android/src/main/java/com/reactnativecommunity/clipboard/ClipboardModule.java
+++ b/node_modules/@react-native-clipboard/clipboard/android/src/main/java/com/reactnativecommunity/clipboard/ClipboardModule.java
@@ -156,6 +156,17 @@ public class ClipboardModule extends ReactContextBaseJavaModule {
}
}
+ @ReactMethod
+ public void setURI(String uri) {
+ try {
+ ClipData clipdata = ClipData.newUri(reactContext.getContentResolver(), "URI", Uri.parse(uri));
+ ClipboardManager clipboard = getClipboardService();
+ clipboard.setPrimaryClip(clipdata);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
@ReactMethod
public void setListener() {
try {
diff --git a/node_modules/@react-native-clipboard/clipboard/dist/Clipboard.d.ts b/node_modules/@react-native-clipboard/clipboard/dist/Clipboard.d.ts
index a3e4abd..904a199 100644
--- a/node_modules/@react-native-clipboard/clipboard/dist/Clipboard.d.ts
+++ b/node_modules/@react-native-clipboard/clipboard/dist/Clipboard.d.ts
@@ -81,6 +81,17 @@ export declare const Clipboard: {
* @param the content to be stored in the clipboard.
*/
setStrings(content: string[]): void;
+ /**
+ * (Android Only)
+ * Set content of URI type. You can use following code to set clipboard content
+ * ```javascript
+ * _setContent() {
+ * Clipboard.setURI('file://com.example.app/files/image.png');
+ * }
+ * ```
+ * @param the content to be stored in the clipboard.
+ */
+ setURI(content: string): void;
/**
* Returns whether the clipboard has content or is empty.
* This method returns a `Promise`, so you can use following code to get clipboard content
diff --git a/node_modules/@react-native-clipboard/clipboard/dist/Clipboard.js b/node_modules/@react-native-clipboard/clipboard/dist/Clipboard.js
index 67b7237..0a74329 100644
--- a/node_modules/@react-native-clipboard/clipboard/dist/Clipboard.js
+++ b/node_modules/@react-native-clipboard/clipboard/dist/Clipboard.js
@@ -123,6 +123,22 @@ exports.Clipboard = {
setStrings: function (content) {
NativeClipboard_1.default.setStrings(content);
},
+ /**
+ * (Android Only)
+ * Set content of URI type. You can use following code to set clipboard content
+ * ```javascript
+ * _setContent() {
+ * Clipboard.setURI('file://com.example.app/files/image.png');
+ * }
+ * ```
+ * @param the content to be stored in the clipboard.
+ */
+ setURI: function (content) {
+ if (react_native_1.Platform.OS !== 'android') {
+ return;
+ }
+ return NativeClipboard_1.default.setURI(content);
+ },
/**
* Returns whether the clipboard has content or is empty.
* This method returns a `Promise`, so you can use following code to get clipboard content

View File

@@ -33,11 +33,6 @@ const FloatingActionButton = ({ visible }: { visible?: boolean }) => {
label: 'Text',
onPress: () => navigate('Add Item'),
},
{
icon: 'microphone',
label: 'Audio',
onPress: () => navigate('Add Item'),
},
{
icon: 'image-album',
label: 'Album',

View File

@@ -1,8 +1,8 @@
const packageName = 'com.terminallyonline';
const packageName = 'com.karaolidis.terminallyonline';
const appName = 'Terminally Online';
const escapedAppName = appName.replaceAll(' ', '%20');
const fileProvider = 'com.karaolidis.terminallyonline.rnshare.fileprovider';
// eslint-disable-next-line @typescript-eslint/no-empty-function
const noOp = () => {};
export { packageName, appName, escapedAppName, noOp };
export { packageName, appName, fileProvider, noOp };

View File

@@ -1,3 +1,3 @@
export { packageName, appName, escapedAppName, noOp } from './constants';
export { packageName, appName, fileProvider, noOp } from './constants';
export { isPermissionForPath, clearPermissions } from './permissions';
export { getSortIcon, getViewIcon } from './icon';