Giter Club home page Giter Club logo

kastri's Introduction

Kastri

logo

From Delphi Worlds

Twitter Facebook Instagram

Compatible with Embarcadero Delphi. Please note: Only the last two point releases of major releases (e.g. at present that includes Delphi 12 and Delphi 11.3) are "officially" supported.

Development of Kastri can be helped along with Github Sponsorship, so please consider sponsoring today!

Alternatively, you might like to make a donation via PayPal:

paypal

Please star this repo by clicking the Star box in the top right corner if you find it useful!

If you're looking to learn Delphi, please visit this link

Kastri

  • Is a cross-platform library which builds upon the existing RTL, FMX and VCL libraries in Delphi
  • Supports a number of newer APIs that you won't find in FMX/RTL, and "backfills" for missing APIs
  • Is structured in a way so as to avoid creating unnecessary dependencies
  • Follows strict coding standards to ensure consistency and readability
  • Is kept as simple as practicable
  • Is named after the place in Greece where Delphi once stood

Playground

Playground is a separate repository that serves as a testing ground for features that may or may not be included in Kastri. Please visit the Playground for features/demos that are on the bleeding edge!

Delphi 11/12 changes

With the introduction of Delphi 11 and Delphi 12, there have been some changes related to Android. You may notice new jar files in the Lib folder where the name is the same as an existing jar, with a suffix of 2.0.0 or 3.0.0 e.g. dw-kastri-base-3.0.0.jar. Jars with a 2.0.0 suffix will work only with Delphi 11, and those with a suffix of 3.0.0 will work only with Delphi 12. If a jar does not have a corresponding jar with a 2.0.0 or 3.0.0 suffix, it should also work with Delphi 11 or Delphi 12. Please also see the Demos section below.

Due to the above changes to Delphi 11 and Delphi 12, the existing demos that were created with Delphi 10.4 or Delphi 11 when using them with a later version of Delphi may require the Android Libraries fix

Intro video

This is a link to an intro video for Kastri

How To Use Kastri

For the most part, with Kastri there are no components to install. Simply clone the repo (Fork is a highly recommended Git client), or download/unzip and ensure that your Project (recommended) or IDE paths point to the folders of the units that you use.

The Native Controls suite (Kastri FMX) is a set of components that can be installed into Delphi and used at design-time

Pull Requests

Pull requests are welcome, however before making any, please read the Coding Standards readme and ensure that the change adheres to the standards, and that the Description section of the request is filled out, noting the purpose and reasoning for the change.

In regards to coding standards, in particular observe things like naming, ensuring fields/methods are kept in alphabetical order (which makes them easier to find as the number of methods grow), and that structured statements follow the standard.

Support

Issues page

If you encounter an issue, or want to request an enhancement, please visit the issues page to report it.

Slack Channel

The Delphi Worlds Slack workspace has a channel (#kastri) devoted to discussing Kastri. There you will find Dave Nottage (when he is available) and other developers who are passionate about Kastri to discuss how to use Kastri, what is in it etc.

Sponsors of Kastri have access to the private #sponsors channel where they receive priority support.

If you would like to join the Delphi Worlds Slack workspace, please visit this self-invite link

What Is In Kastri?

Demos

You'll find demo applications in the Demos folder, including those associated with articles posted on the Delphi Worlds blog

Note: Most demos have a readme associated with them, and they may have vital configuration information that should be applied when using the feature(s) in your own projects

Delphi 11 users please note: Some of the demos that have Android support have been updated in line with changes in Delphi 11, and now have separate project (.dproj) and group project (.groupproj) (where applicable) files, which have been suffixed with D11. For demos that do not have a suffix of D11 in the name, you may need to open Project Manager and for each Android target you wish to use, right-click the Libraries node and click Revery System Files to Default before building the project.

API imports

In the API folder you will find imports for a number of iOS, macOS, Android and Linux APIs that are either not included with Delphi, serve to complete missing APIs, or are imports for Java code contained in Kastri. Most of these are used in the Kastri Features and/or demos however some are included due to interest from developers.

Core units

Units in the Core folder contain code of a wealth of cross-platform related implementations. Units that have platform specific code are suffixed with one of:

  • .Android.pas
  • .iOS.pas
  • .Linux.pas
  • .Mac.pas - can be for both iOS and macOS
  • .Posix.pas - for Posix-based platforms (iOS, macOS, Android, Linux)
  • .Win.pas

Implementations include:

  • DW.OSLog - logging code that serves to replace Log.d, which relies on FMX, and cannot be used in an Android service
  • DW.OSDevice - code that returns information that is mostly device-specific
  • DW.OSTimer - leaner, less complex implementation of a timer. Also does not rely on FMX, so can be used in an Android service

Features

The Features folder contains more feature-rich cross-platform implementations of APIs. These are structured in such a way so as to shield your cross-platform code from the platform-specific implementation. There are demos for each of the features in the Demos folder Features include (amongst others):

AdMob

Support for Google Ads on Android and iOS

AndroidPDF

PDF Renderer for Android

AppUpdate

In-app updating of the application. (Android only)

AudioPlayer

Play audio files on Android, iOS and Windows. Specifically constructed to allow synchronization of audio and visual display.

Barcode

Based on Google ML Vision APIs, it allows you to scan an image and detect barcodes within it

Biometric

Android and iOS implementations of biometric functions, namely: Fingerprint recognition on Android, and Fingerprint and FaceID on iOS

Camera

Android and iOS implementations of native camera support

Connectivity

Android, macOS, iOS and Windows implementations of code for checking network connectivity of a device

Files Selector

Uses native APIs to allow users to select one or more files on the device, for Android and iOS

Firebase

Android and iOS implementations of Firebase Cloud Messaging using their native libraries

Geofencing support on Android

Works a little like the regions support does for iOS with TLocationSensor. Set up geographical regions (each region is a location with a specified radius), and events fire when the user passes in/out of those regions

Location

Android and iOS framework made specifically for location updates when the application is in any state (e.g. even when it is not running)

NFC

Near-Field Communication implementations for Android and iOS

Notifications

Framework that is alternative to TNotificationCenter (that ships with Delphi) for Notifications on Android and iOS

Proximity

Support for the proximity sensor on Android and iOS, including switching the screen on/off e.g. when the user puts the device to their ear

Share Items

A more feature-rich alternative for the Share Sheet implementation provided with Delphi, for Android and iOS

SMS

Support for sending SMS messages on Android and iOS

Speech Recognition

Android and iOS implementations for speech-to-text services. On Android, the actual speech API is used, rather than via Intents

Symbol Scanner

Scanning of codes specifically for popular scanning devices such as Zebra, Symbol and Honeywell (Android)

Text To Speech

Allows your device to speak from the supplied text. Support for Android, iOS, macOS and Windows

Universal Links

Allows users to follow links to content inside your app from your website.

Planned Features

In addition to the features listed above, several other features are planned for Kastri, namely:

Google SignIn

A simplified variation on Grijjy's excellent Google SignIn implementation, with added support for iOS

Media Manager

For accessing photos/videos stored on the device via the albums on Android and iOS. This feature is currently in the Playground.

Simple backend framework for managing push tokens

A simple REST backend for managing push tokens and sending messages that can be customised to your needs. Complements the existing Firebase Cloud Messaging support.

The above features take time and resources to develop. Your help via sponsorship can help make them a reality!

License

Kastri is licensed under MIT, and the license file is included in this folder.

kastri's People

Contributors

delphiworlds avatar mateusvicente100 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

kastri's Issues

SpeechRecognition

Hi.
Will the SpeechRecognition project go?
I don't want to use button.
I would like to run over OK google.
It will work ?

FCMDemo (Firebase Cloud Messaging) [DCC Error] E2597 ld: warning: directory not found for option '-L\FirebaseAnalytics\FirebaseAnalytics.framework'

Hi there!

I Just installed the Kastri.
Added the files to the library path from the demo video: https://www.youtube.com/watch?v=yp6Ds7umkbU
I Went straight to the FCMDemo
[DCC Error] E2597 ld: warning: directory not found for option '-L\FirebaseAnalytics\FirebaseAnalytics.framework'

I feel like I might be missing a library install. I skimmed the readme and didn't see anything.

These is the message Log:

dcciosarm64 command line for "FCMDemo.dpr"
c:\program files (x86)\embarcadero\studio\21.0\bin\dcciosarm64.exe -$O- --no-config -M -Q -AGenerics.Collections=System.Generics.Collections;
Generics.Defaults=System.Generics.Defaults -DDEBUG -E.\iOSDevice64\Debug -I"c:\program files (x86)\embarcadero\studio\21.0\lib\iOSDevice64\debug";
\FirebaseAnalytics\FirebaseAnalytics.framework;\FirebaseAnalytics\FirebaseCore.framework;\FirebaseAnalytics\FirebaseCoreDiagnostics.framework;
\FirebaseAnalytics\FirebaseInstallations.framework;\FirebaseAnalytics\GoogleAppMeasurement.framework;\FirebaseAnalytics\GoogleDataTransport.framework;
\FirebaseAnalytics\GoogleUtilities.framework;\FirebaseAnalytics\nanoPB.framework;\FirebaseAnalytics\PromisesObjC.framework;
\FirebaseMessaging\FirebaseInstanceID.framework;\FirebaseMessaging\FirebaseMessaging.framework;\FirebaseMessaging\Protobuf.framework;....\API;
....\Core;....\Include;....\Features\Firebase;....\Features\Notifications;"c:\program files
(x86)\embarcadero\studio\21.0\lib\iOSDevice64\Release" -LEC:\Users\Public\Documents\Embarcadero\Studio\21.0\Bpl\iOSDevice64
-LNC:\Users\Public\Documents\Embarcadero\Studio\21.0\Dcp\iOSDevice64 -NU.\iOSDevice64\Debug -NSSystem;Xml;Data;Datasnap;Web;Soap;
-O\FirebaseAnalytics\FirebaseAnalytics.framework;\FirebaseAnalytics\FirebaseCore.framework;\FirebaseAnalytics\FirebaseCoreDiagnostics.framework;
\FirebaseAnalytics\FirebaseInstallations.framework;\FirebaseAnalytics\GoogleAppMeasurement.framework;\FirebaseAnalytics\GoogleDataTransport.framework;
\FirebaseAnalytics\GoogleUtilities.framework;\FirebaseAnalytics\nanoPB.framework;\FirebaseAnalytics\PromisesObjC.framework;
\FirebaseMessaging\FirebaseInstanceID.framework;\FirebaseMessaging\FirebaseMessaging.framework;\FirebaseMessaging\Protobuf.framework;....\API;
....\Core;....\Include;....\Features\Firebase;....\Features\Notifications;"c:\program files
(x86)\embarcadero\studio\21.0\lib\iOSDevice64\Release" -R\FirebaseAnalytics\FirebaseAnalytics.framework;\FirebaseAnalytics\FirebaseCore.framework;
\FirebaseAnalytics\FirebaseCoreDiagnostics.framework;\FirebaseAnalytics\FirebaseInstallations.framework;
\FirebaseAnalytics\GoogleAppMeasurement.framework;\FirebaseAnalytics\GoogleDataTransport.framework;\FirebaseAnalytics\GoogleUtilities.framework;
\FirebaseAnalytics\nanoPB.framework;\FirebaseAnalytics\PromisesObjC.framework;\FirebaseMessaging\FirebaseInstanceID.framework;
\FirebaseMessaging\FirebaseMessaging.framework;\FirebaseMessaging\Protobuf.framework;....\API;....\Core;....\Include;....\Features\Firebase;
....\Features\Notifications;"c:\program files (x86)\embarcadero\studio\21.0\lib\iOSDevice64\Release" -U"c:\program files
(x86)\embarcadero\studio\21.0\lib\iOSDevice64\debug";\FirebaseAnalytics\FirebaseAnalytics.framework;\FirebaseAnalytics\FirebaseCore.framework;
\FirebaseAnalytics\FirebaseCoreDiagnostics.framework;\FirebaseAnalytics\FirebaseInstallations.framework;
\FirebaseAnalytics\GoogleAppMeasurement.framework;\FirebaseAnalytics\GoogleDataTransport.framework;\FirebaseAnalytics\GoogleUtilities.framework;
\FirebaseAnalytics\nanoPB.framework;\FirebaseAnalytics\PromisesObjC.framework;\FirebaseMessaging\FirebaseInstanceID.framework;
\FirebaseMessaging\FirebaseMessaging.framework;\FirebaseMessaging\Protobuf.framework;....\API;....\Core;....\Include;....\Features\Firebase;
....\Features\Notifications;"c:\program files (x86)\embarcadero\studio\21.0\lib\iOSDevice64\Release"
--syslibroot:C:\Users\Linda\Documents\Embarcadero\Studio\SDKs\iPhoneOS14.5.sdk
--frameworkpath:C:\Users\Linda\Documents\Embarcadero\Studio\SDKs\iPhoneOS14.5.sdk\System\Library\Frameworks;
C:\Users\Linda\Documents\Embarcadero\Studio\SDKs\iPhoneOS14.5.sdk\System\Library\PrivateFrameworks -V -VN --linker-option:"-ObjC -arch arm64"
-NO.\iOSDevice64\Debug FCMDemo.dpr
[DCC Error] E2597 ld: warning: directory not found for option '-L\FirebaseAnalytics\FirebaseAnalytics.framework'
ld: warning: directory not found for option '-L\FirebaseAnalytics\FirebaseCore.framework'
ld: warning: directory not found for option '-L\FirebaseAnalytics\FirebaseCoreDiagnostics.framework'
ld: warning: directory not found for option '-L\FirebaseAnalytics\FirebaseInstallations.framework'
ld: warning: directory not found for option '-L\FirebaseAnalytics\GoogleAppMeasurement.framework'
ld: warning: directory not found for option '-L\FirebaseAnalytics\GoogleDataTransport.framework'
ld: warning: directory not found for option '-L\FirebaseAnalytics\GoogleUtilities.framework'
ld: warning: directory not found for option '-L\FirebaseAnalytics\nanoPB.framework'
ld: warning: directory not found for option '-L\FirebaseAnalytics\PromisesObjC.framework'
ld: warning: directory not found for option '-L\FirebaseMessaging\FirebaseInstanceID.framework'
ld: warning: directory not found for option '-L\FirebaseMessaging\FirebaseMessaging.framework'
ld: warning: directory not found for option '-L\FirebaseMessaging\Protobuf.framework'
ld: file not found: Protobuf

TBackgroundMonitor question

Hi Guys. I created a new local service and configured a TBackgroundMonitor, but when the alarm is triggered I get an intent = nil in OnStartCommand.

LAlarm := (intent <> nil) and JStringToString(intent.getAction)
    .Equals(cDWBroadcastReceiverActionServiceAlarm);
  if LAlarm and FBackgroundMonitor.IsDozed then
  begin
    // Starts the next alarm
    FBackgroundMonitor.StartDozeAlarm;
  end;

So the FBackgroundMonitor.StartDozeAlarm is not executed.
In demo CrossPlatformLocation works well, but not in my new project.
Where am I going wrong?

iOS NFC demo compile fails if not on Simulator

If your issue is for a particular feature (e.g. Camera, Connectivity, Biometric etc), please prefix the issue title with the feature in square brackets, e.g. "[Camera] Crash when image is captured"

Compile error of NFC demo on iOS - not on Simulator
Compiling the NFC demo on iOS Device 64 Development or Application Store, an error occurred.
It builds fine on iOS Simulator

Error messages
[DCC Error] E2597 Id: file not found: /System/Library/Frameworks/CoreNFC.framework/CoreNFC

Please indicate
Delphi Version: 10.4.2

Platform(s) that the issue occurs on (i.e. iOS, Android etc):
iOS

Steps To Reproduce

  1. Load the NFC demo
  2. Select iOS Device 64 bit
  3. Select Application Store of Development
  4. Build all.

Closed due to inactivity

Hi, but if I use DW.Notifications of kastri, I get the error in:

function TPlatformNotificationChannel.GetSound: string;
begin
Result := JURIToStr(FChannel.getSound);
end;
[DCC Error] DW.Notifications.Android.pas(186): E2003 Undeclared identifier: 'getSound'

Closed due to inactivity

Originally posted by @DelphiWorlds in #15 (comment)

[Camera] Demo crashes / hangs after clicking the start button

Hello, thank you so much for adding this great camera component.
I'm testing the camera demo on android 10, using Delphi 10.3.3. The demo compiles and install well on my android phone but crashes or hangs as soon as I click on the start button. At the first time of install it crashes after you grant permission to use camera and on subsequent runs it crashes just after clicking the start button.

Also, it was only able to compile and installed well, because I ignored the errors:
"Error reading LocationSensor.ActivityType: Property ActivityType does not exist" and
"Error reading LocationSensor.UsageAuthorization: Property UsageAuthorization does not exist"
while opening the CD.View.Main.pas file in the IDE

Please is there anything I'm doing wrong? Thank you.

Problem "FirebaseCloudMessaging" Mobile iOS

I successfully compile and run the FCMDemo on both ios and Android,
So I configure my project to work as in the FCMDemo, on Android everything is just fine, super cool,
But in iOS I cannot compile my app, I got this error : [DCC Error] E2597 ld: file not found: PromisesObjC
If I compile the FCMDemo for iOS it works just as expected, which is great. :)

But I have the exact same search paths in my app and in the FCMdemo, Just made a copy-paste from the search path of the FCDemo to my App and still got the message when building for iOS.

Error :
[DCC Error] E2597 ld: file not found: PromisesObjC

Delphi Version: 10.4.2
Occurs when trying to build for iOS sdk 14.5

Regards
José

ScheduledServiceDemo

Hi there, Can you help me please! I want uese the ScheduledDemo, but when start run the app, the app closed! I want to use this on the Android64 bit. I did try this on Android32 bit too, but after one time this closed too. I did downloaded the refresh too, but not working! Sorry that I little bit speak English! Thank you so much help and your time!

Can fingerprint authentication return a consistent signature for an identified finger?

Very nice project. I discovered it fairly recently. I was playing with the fingerprint authentication.

With the fingerprint authentication, I can see it returns success if the fingerprint matches a finger that is registered on the device. If there are multiple fingers registered, it may be useful to identify which one was used.

I plan to dig into this at some stage. I realise it is probably different between IOS and Android, but presume there may be some sort of hash on both.

TConnectivity strange behavior

Hi, I downloaded the latest version of kastri but I am having a strange behavior in the TConnectivity component. if I disconnect the wifi only, the component already says that it has no internet connection, if I reconnect it says it is connected and then immediately shows that it is disconnected, this did not happen in previous versions. (tested on ConnectivityDemo app). See the attachment.
TConnect

[Notifications] custom local notifications in android?

I want to create a Notification in an android application that shows the progress in uploading an image.

I have seen many styled, multiline with icons notifications in existing applications, having also controls like a progress bar.
I delphi I can not even change the icon it is showed
Looking inside DW.Androidapi.JNI.Notification I noticed some functions in JNotification_Builder and I started thinking if this can do the the above.
Is it possible? Is there a demo of how to use it?
Thank you in advance

FConnectivity stopped working in latest version

Hi, I download the latest version to fix the notification bug, but now TConnectivity has stopped working.
When I create the object with "FConnectivity := TConnectivity.create;" the app freezes.
I tested the demo and freezes too. No error message appears, only the app freezes.
I am using Delphi 10.3.3
Some idea?
Thanks

Username Info

HI,
Thanks for the great library.

Is there any method to retrieve the logged user name in multiple platforms?

Thanks

ManifestMerge issue

ManifestMerge appears to be broken - needs investigation.

In some cases, CPU hits 100%? In others it apparently seems the merge file or the manifest does not exist

Camera sample for iOS missing Vision framework

If your issue is for a particular feature (e.g. Camera, Connectivity, Biometric etc), please prefix the issue title with the feature in square brackets, e.g. "[Camera] Crash when image is captured"

Description
Brief description of the issue:

Error messages
If any. Please ensure they are the exact message(s):

Please indicate
Delphi Version:
Platform(s) that the issue occurs on (i.e. iOS, Android etc):
If mobile, device model and OS version (e.g. Pixel 3a, Android 11):

Steps To Reproduce
Concise steps to reproduce the behaviour:

CrossPlatformLocation demo from google play

Hi, I made an application with a background service (based on the CrossPlatformLocation demo), when I install the apk directly from delphi 10.3 Rio it works perfectly, however if I install from google play the service not start. Any idea what might be going on?

AppleSignIn is not validating

Problem with AppleSignIn Apple.

Description
I downloaded the kastri fonts, using the demo itself I always get the login failure message, I already enabled the Apple login option in the app ID, the certificate shows that it is enabled, it opens the app all right, it shows the login button but when clicking on login failure.

** Error messages **
Login failed.

** Please indicate **
Delphi 10.4.1 with patch for ios 14.
Iphone XS Max IOS 14.2
MacOS Catalina.
Xocode 12
Added the authentication framework to the SDK.

** Steps to reproduce **
When installing the demo on the phone and trying to login already gives the error message.

Notifications

Hi, there is a demo that uses DW.Notifications.pas?
How send a notification with Kastri?

Error using nfcdemo

@DelphiWorlds try to debug nfcdemo in tree diferents devices (LG, Samsung an Sunmi) and all of the return an error when Delphi try to deploy de app to the device.

"project nfcdemo.apk raised exception class segmentation fault (11)"

Anybody had this problem alredy?

Thanks

FCM subscribe to topic?

Is it possible to subscribe to a topic so I can send one specific Message to several clients who subscribed to the particular topic?

NativeShape + Stroke

Thanks for NativeShape! 👍

A little problem — stroke is hidden in DesignTime:

screencast

but still visible in RunTime
screenshot

No FCM Push Token on Android first start after installation

I‘m facing a weird situation with Kastri FCM on Android. I install my App on my Android Smartphone and toggle a switch to turn on the FCM. The component is created, handler get assigned as well but I don’t receive a PushToken right away. I close the app completely, restart, Toggle the switch again and I get a PushToken.

[Camera] Orientation of captured image is incorrect on some devices

Description
As per summary

Error messages
Nil

Please indicate
Delphi Version: All
Platform(s) that the issue occurs on (i.e. iOS, Android etc): Android
If mobile, device model and OS version (e.g. Pixel 3a, Android 11):
Motorola G7 Plus, Android 10
Huawei Mate 10 Pro, Android 10

Steps To Reproduce
Using the demo, take a picture.

Reported by davi lima in the #kastri channel

Connectivity feature now requires dw-kastri-base.jar

OK, I put dw-kastri-base.jar in demo and it worked, but not in my app (my app already uses dw-kastri-base.jar). In my app TConnectivity is created in a background service and it's just not working on the latest version.

Connectivity feature now requires dw-kastri-base.jar to be added to the Libraries node of the Android target in Project Manager. I've updated the demo

Originally posted by @DelphiWorlds in #26 (comment)

Speech framework is not installed with SDK but Kastri need it

[Speech] is needed by Kastri, but in the SDK is not installed

Hello:

When I compile SpeechRecognition Demo, I get:
[DCC Error] E2597 ld: file not found: /System/Library/Frameworks/Speech.framework/Speech

This is because iOS SDK (12.0, 12.1, 14.2 and 14.3) not install Speech framework (not exists) and I can't compile the Demo.

Delphi Version: 10.3
Platform(s) that the issue occurs on (i.e. iOS, Android etc): iOS (14.2 and 14.3 SDK)

Concise steps to reproduce the behaviour: Simply open SpeechRecognition Demo and compile it for iOS (on Mac Mini, with PAServer-20.0 correctly running, configured and linked to Embarcadero Delphi).

Please how I can fix this issue?
Thanks. Jose.

[FirebaseMessaging] DW.Firebase.Messaging needs TFirebaseMessaging.PushFailToRegisterMessageHandler procedure to be finished

in DW.Firebase.Messaging

PushFailToRegisterMessageHandler currently is empty (no code). See below:

procedure TFirebaseMessaging.PushFailToRegisterMessageHandler(const Sender: TObject; const M: TMessage);
begin

end;

It would be nice if it would have either a event handler or if it was a protected virtual method or both;

I'm currently having trouble getting push notifications to work and I'm going to hook into this to see if I get more clarity about my issue. So I was surprised to see it looks incomplete maybe?

Thank you for your attention

ios app crashes after FPushNotifications.Start

Hello,
until yesterday nerly 5pm everythings working ok with the push notifications on my IOS App. Before that, the app crashes when the FPushNotifications.Start.
If comment this line, works correctly.

Debuging the app, the compiler works fine until the line FServiceConnection.Active:= True; in DW.PushNotification.pas unit

procedure TPushNotifications.CreateConnection;
var
LPushService: TPushService;
begin
Try
LPushService := GetPushService;
FServiceConnection := TPushServiceConnection.Create(LPushService);
FServiceConnection.Active := True; <----

Can anybody help me??

[Connectivity] Android not detecting reconnect network

Hi

I think I found a problem:

Delphi Version: 10.4.2.
Platform(s) that the issue occurs on: Android 10, Pixel3a

When starting the connectivity demo it writes:

'Device is connected via the Internet via wifi.' Great.

Disable wifi:
' Disconnected!'. Great.

Enable wifi:
nothing.

Error messages
No Error messages,

[Camera] Capturing an image causes a crash

As per summary, capturing an image causes a crash, with the following log:

19-11 05:40:28.711	W	com.embarcadero.CameraDemo	9541	9568	System.err	android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.
19-11 05:40:28.711	W	com.embarcadero.CameraDemo	9541	9568	System.err	at android.view.ViewRootImpl.checkThread(ViewRootImpl.java:8798)
19-11 05:40:28.712	W	com.embarcadero.CameraDemo	9541	9568	System.err	at android.view.ViewRootImpl.requestLayout(ViewRootImpl.java:1606)
19-11 05:40:28.712	W	com.embarcadero.CameraDemo	9541	9568	System.err	at android.view.View.requestLayout(View.java:25390)
19-11 05:40:28.712	I	com.embarcadero.CameraDemo	9541	9568	chatty	uid=10579(com.embarcadero.CameraDemo) CameraPreview identical 1 line
19-11 05:40:28.712	W	com.embarcadero.CameraDemo	9541	9568	System.err	at android.view.View.requestLayout(View.java:25390)
19-11 05:40:28.712	W	com.embarcadero.CameraDemo	9541	9568	System.err	at android.view.ViewGroup.removeView(ViewGroup.java:5463)
19-11 05:40:28.712	W	com.embarcadero.CameraDemo	9541	9568	System.err	at com.embarcadero.rtl.ProxyInterface.dispatchToNative(Native Method)
19-11 05:40:28.712	W	com.embarcadero.CameraDemo	9541	9568	System.err	at com.embarcadero.rtl.ProxyInterface.invoke(ProxyInterface.java:21)
19-11 05:40:28.712	W	com.embarcadero.CameraDemo	9541	9568	System.err	at java.lang.reflect.Proxy.invoke(Proxy.java:1006)
19-11 05:40:28.712	W	com.embarcadero.CameraDemo	9541	9568	System.err	at $Proxy21.onImageAvailable(Unknown Source)
19-11 05:40:28.712	W	com.embarcadero.CameraDemo	9541	9568	System.err	at android.media.ImageReader$ListenerHandler.handleMessage(ImageReader.java:812)
19-11 05:40:28.712	W	com.embarcadero.CameraDemo	9541	9568	System.err	at android.os.Handler.dispatchMessage(Handler.java:106)
19-11 05:40:28.712	W	com.embarcadero.CameraDemo	9541	9568	System.err	at android.os.Looper.loop(Looper.java:223)
19-11 05:40:28.712	W	com.embarcadero.CameraDemo	9541	9568	System.err	at android.os.HandlerThread.run(HandlerThread.java:67)

The issue is being worked on

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.