Jump to content

Rollo62

Members
  • Content Count

    1945
  • Joined

  • Last visited

  • Days Won

    24

Everything posted by Rollo62

  1. Rollo62

    Android .aab - assets for Android32 missing

    @Vandrovnik Are you talking about Rx10.4.2 ? In the new versions only AAB can be produced, with all files in. I also add deployment assets to 32 and 64 Bit too. This makes the AAB bigger, that right, but thats only used to upload to the store. With the bundletool.jar you can extract and re-package different APK's from this AAB. Exactly that is doing PlayStore too with the AAB, so a user will only get his APK, to reduce transfer size. There is also a "universal APK", which contains all different APK, which blows e.g. 40MB single APK to 160MB in total, I'm not quite sure what this universal APK is used for, or how the devices pick their "special" APK, or maybe this is only for transfer all files in a single ZIP.
  2. Hi there, I know the similar thread, and now it hits me too. From my normal AAB project, I just need to creat separate APK, to send to some testers. If I build as the project as APK32/64 separately, which I did many times before, and Yes, I removed the checkbox, restarted IDE, and tried everything 10 times. My IDE always generates an AAB. This happens with a project that could build APK before flawlessly. Next step I have to create a complete new project, but I would like to ask is somebody knows a workaround for this ? Edit: Oh yes, RSP-32995
  3. Yes, I've tried whats explained in the RSP. I could generate one AAB, from there either one single universal APK, or many, different APK's. Since I need that for exchange with others, I have not fully tested the universal APK, is this really running everywhere ? That would make sense, or to choose only 1-2 splitted APK's, the whole splitted APK's will take 4-5 times the size of the ZIP file. Are you working with universal or splitted APK's ?
  4. You think 26 Characters are enough ? 🤔
  5. Rollo62

    Delphi books

    Thanks for that link too, which links to a whole lot of succinctly free e-books, thats quite interesting. I hope I don't misunderstand, you want to send the link to the sources, not the entire PDF's, of a copyrighted book ? But many of the original sources for books you can find easily by searching after its name, so everybody can get them on his/her own, if needed.
  6. Rollo62

    XCode 12 compile error

    I can approve that too, current Rx10.4.2. Suddenly in a project the CFBundleName appeared as "iPhone", instead of $(ModuleName). I assume this happened when changing UIDeviceFamily from iPhone to iPhone & iPad, but not sure. What I heavily hope is that the version and options dialog will get much more stable one day.
  7. Rollo62

    Pos

    Maybe so, but since LSP I recognize that this behaviour has changed to older versions. Before it was able to filter only from beginning of terms, now it filters everywhere. Anyway for what reason: Hooray its getting more usable
  8. Rollo62

    Pos

    Dont get your point, there is AutoCompletion I think thats much better to have speaking names than some like AK, DoIt, Run, InTrlPaDel, aThng, .... (I don't care much about the grammar). And since LSP, we can "AutoComplete" within terms too, above you can find by "Inc", "Trail", "Path", "Del"
  9. Rollo62

    Pos

    FMX uses terms leading trailing ... Just saying.
  10. Rollo62

    Android Auto Launch App ( Delphi 10.3.3 )

    @robert183 Thanks for the description. As far as I know from older versions, with a custom classes.dex you cannot debug any more. Is that still true for Rx1042, with your setup ?
  11. Rollo62

    Bug in Android32 compiler

    Yes, but if I use a main and a shadow variable, which shall trigger when changed. Then if FMain <> FShadow then is very handy, when I can even assume that all numbers, NaN, IN's are running well. Or when I send a value to a display, which need further formatting. procedure DisplayValue( AValue : Single ); begin AValue := AValue / 1000.0; // NaN / Inf is kept as is LDisplayText := DoConvertToText( AValue ); // can be 0.000; 123.456; -.--- (=NaN); -OL- (+Inf); -UL- (-Inf); end; Also that can be interesting when not always need a lot of guad-code around it.
  12. Rollo62

    Bug in Android32 compiler

    Because of that I've build my NaN, INF+, INF- safe compare helpers, so that I can expect consistent behaviour. I call those NaN_Safe operations, where I can also compare NaN, etc..
  13. Rollo62

    Android Auto Launch App ( Delphi 10.3.3 )

    Not enough time to look deeper into this., and what you are doing wiht Java and Delphi. But from the error message This could have something to do with the customizing of the classes.dex file. That is a big change in the underlying Delphi stuff, so I'm not sure if you really need to use a custom classes.dex, better to avoid that, if possible. But your task sounds as if it might be needed. To run a sticky service on boot could be an option too, but I haven't tested that yet. I'm not sure if there were any options to allow auto-starting after boot, maybe so, with some hacks. Unfortunately there were so many internals changed in Android, since those posts, so maybe also this doesn't work as described before. http://docwiki.embarcadero.com/RADStudio/Sydney/en/Creating_Android_Services#Sticky_Start http://delphi.org/2015/09/minimalistic-android-service-with-delphi-10-seattle/
  14. Rollo62

    Android Auto Launch App ( Delphi 10.3.3 )

    Not tested myself, but you have a look here or here (German DP)
  15. Rollo62

    Display a form created in Fmx ANDROID Many time

    Its a little unclear to me what you want achieve. If you want showing/hiding the form, then you should create the form ONCE and Show/Hide it. From your text it seems that you Create, but never free the Form. So maybe that is the issue, multiple creation of the same form ? In your code you put fields to another object, (AddObject), that could cause a lot of issues and sideeffects too. Maybe you can show us the full code of what you are doing.
  16. Rollo62

    Planning for V4 (FMX support)

    @PrimoĹľ GabrijelÄŤiÄŤ Please clarify what platforms VCL/FMX can be used. I'm interested in iOS / Android mainly, bit Win32/64 / Macos too. Did I miss that your library is compatible with those ?
  17. Hi there, I'm playing around with the new TLightweightMREW, and it seems to be a custom record now. There were already some important improvements from @PrimoĹľ GabrijelÄŤiÄŤ available. In comparison to TMultiReadExclusiveWriteSynchronizer, which is a class, I ask myself if this new TLightweightMREW is intended to be used as a field over a classes lifetime. Like type TMyClass = class private FLock : TLightweightMREW; ... ... procedure DoSomeLocking; procedure DoSomeMoreLocking; procedure DoSomeLockingStart; procedure DoSomeLockingStop; ... constructor Create; destructor Destroy; override; ... end; implementation ... constructor TMyClass.Create; begin inherited; //FLock as custom record needs no special initialization ! end; procedure TMyClass.DoSomeLocking; begin FLock.BeginRead; ... FLock.EndRead; end; procedure TMyClass.DoSomeMoreLocking; begin FLock.BeginWrite; ... FLock.EndWrite; end; procedure TMyClass.DoSomeLockingStart; begin FLock.BeginWrite; ... end; procedure TMyClass.DoSomeLockingStop; begin FLock.EndWrite; end; constructor TMyClass.Destroy; begin inherited; // !! There is no way to find our if a locking is currently is running // FLock maybe destroyed when class is destroyed, the all locking released ? end; Is this kind of "class global" field, inside a class, intended to be used like that ? If so, how to manage possible hanging "locks", when the whole class is destroyed before locks were released ? Maybe its somehow guaranteed by design that FLock is releasing all locks, when the class is destroyed, but I would doubt that. So that means, I would have to put my own "lock accounting" around this TLightweightMREW field, is that correct ? Maybe this kind of use-case is not the right for the TLightweightMREW, and it better should be used only "locally" within a method ?
  18. Rollo62

    TLightweightMREW considerations

    My goal was to ensure that no pending internal lock are open. Unfortunately there is no "ReadLockCount" or "WriteLockCount" to check that. I was considering a kind of "Flush" for all open locks, I thought the TMultiReadExclusiveWriteSynchronizer is doing something like that destructor TMultiReadExclusiveWriteSynchronizer.Destroy; begin BeginWrite; inherited Destroy; CloseHandle(FReadSignal); CloseHandle(FWriteSignal); tls.Free; end; Is calling BeginWrite maybe recommended to assure issues with open locks ? Of course it would create a lock, instead of closing. The TLightweightMREW has Initialize, but no according Finalize. class operator Initialize And even if so, would the Finalize be reliable called on class destruction, never checked that with CustomManagedRecords ( I hope it would ) ? I used to track locks with each successful TryBeginRead/EndRead, if needed, inside the class, by accounting with TInterlocked counters. But wouldn't it be better if the locking class/record itself would have offered its internal accounting. Probably there is something wrong with accounting of locks at all ( I know after the moment I've got a count, its all can be changed ) ? For just waiting until all is cleaned up before class destruction, or at least for preparing a clear error message "Hanging lock".
  19. Hi there, the new tracking requirements from Apple will soon be enforced into AppStore, so that apps might be rejected. Here more guiedelines. I would like to ask if someone already has experiences with this API, since its a little unclear what might fall under it. Since I'm afraid that his new API contains a lot of pitfalls, like always, to see unexpected rejections, would be good to clarify as early as possible. Its clear that, if you use any dedicated tracking system, personalized AD's, etc., that this IS tracking. What I'm thinking of, are all the corner cases that might fall under Apples restrictions as well. Sharing device location data or email lists with a data broker. What if device location is stored locally, and maybe sended my mail on-demand uf the user ? Is email a "data broker" ? What kind of company constitutes a data broker? Data brokers are defined by law in some jurisdictions. In general, a data broker is a company that regularly collects and sells, licenses, or otherwise discloses to third parties the personal information of particular end-users with whom the business does not have a direct relationship. What is a "data broker" in practice, is this also any private service that processes data for the user only, e.g. like travel route manager, or an apps error logging service ? Is any service that NOT discloses any data to 3rd parties OK then ? Sharing a list of emails, advertising IDs, or other IDs with a third-party advertising network that uses that information to retarget those users in other developers’ apps or to find similar users. What if sharing data with non-retargetting services, howto define and proof what is "retargetting" and whats not ? Placing a third-party SDK in your app that combines user data from your app with user data from other developers’ apps to target advertising or measure advertising efficiency, even if you don’t use the SDK for these purposes. For example, using an analytics SDK that repurposes the data it collects from your app to enable targeted advertising in other developers’ apps. What if you just need a personal login on a personal service, with no advertising taking place ? Developers are responsible for all code included in their app, including single sign-on (SSO) functionality provided by third parties. If the user will be subject to tracking as a result of SSO functionality included in your app, you must use the app tracking transparency prompt to obtain permission from that user first. Ok, and howto proof that an single-sign-on is used on my own server only, is a written declaration enough ? Are any 3rd party single-sign-in or OAuth-services still Ok, or not ? Can I use my own server, to proof no tracking takes place ? Can I fingerprint or use signals from the device to try to identify the device or a user? No. Per the Apple Developer Program License Agreement, you may not derive data from a device for the purpose of uniquely identifying it. Examples of user or device data include, but are not limited to: properties of a user’s web browser and its configuration, the user’s device and its configuration, the user’s location, or the user’s network connection. Apps that are found to be engaging in this practice, or that reference SDKs (including but not limited to Ad Networks, Attribution services and Analytics) that are, may be rejected from the App Store. Well, and what about app-generated GUUID's then, or any hash of user-provided data, like email ? In the meaning from above, all "generated", not "derived" data should be fine ? I hope that already some do's and don't could be shared.
  20. Rollo62

    iOS Metal and bitmap.savetofile

    See also here.
  21. Rollo62

    IOS SIMULATOR ON SYDNEY 10.4

    I doubt exactly that, but if you can bring an app to simulator and then to the AppStore, please let us know
  22. Rollo62

    iOS upcoming TrackingAPI in 14.5

    Maybe that is interesting too https://webkit.org/tracking-prevention-policy/ https://webkit.org/blog/11529/introducing-private-click-measurement-pcm/
  23. Rollo62

    iOS upcoming TrackingAPI in 14.5

    Thats what also Android required now, to have the "prominent disclosure" page, before touching anything. I think thats good behaviour in general, to let the user choose whats OK for him. Thats what I implemented now not only for Android, but also for iOS in same way. I think its a good policy to explain and let choose before use, even if this disclosure page might distract a lot of people. What I'm afraid of are the many unexpected side-effects of such a new API might bring, maybe unwanted crashes, exceptions or AppStore rejections. Better to explain what I would like to do: My apps may contact and register on my own hosted server, so that data protection is no issue, as no 3rd party is involved in the best case. Preferably on own hosted servers, not AWS or the like, because AWS could be seen as "tracking" if you think over-sensitive. With my hosting provider I have a data protection contract. I do not really want to track anything at all, but the definition of "tracking" depends on the point-of-view. Is sending data by user-confirmed EMail already "tracking" ? Is logging by single-sign-on into a server already "tracking" ? For the second I don't need any real privacy data from a person, but at least a unique ID, and it will be hard to secure without 2FA. With the tracking API Apple seems to restrict to take such unique ID from the Phones itself, so I ask myself: is as self-generated GUUID or hash OK then ? Apple provides a few examples, which of course should be restricted, but what about all those "harmless" apps, that only need to contact their servers for various, non-personal data. Lets take for example a simple shopping list, which is hosted on a central server, all data only for one user, anonymous user, no data processing, no data sharing, no data analysis. Just for one user to share his own data on his several devices, is that already considered as "tracking" ? Would be using a 3rd party OAuth-server, like Google/Facebook, already be considered as "tracking" ? Where does it start, where does it end ? If Apples view of "tracking" only has to do with restricting unwanted AD's, then I'm fine. But if this is getting too strict, then it starts getting problematic. I mean you can drill this topic always to the extreme, and I knew Apple for doing so very likely
  24. Rollo62

    IOS SIMULATOR ON SYDNEY 10.4

    Yes, but its offers pay-as-you go 1$ / h. If you are able to align your work, mainly working and testing under Windows, so that you just use it as a final build test approval, it could be worth it. But it would be much better to check out for some used hardware ... Using a simulator for iOS is not my recommendation anyway. Check out the platform status of Firemonkey, this only supports older simulators anyway, so it will be hard to work with them only. This cannot reflect the real behaviour of an iPhone, and you will see many issues when moving a running app in simulator to a real device. In that stage, with a final app, finding any failures is close to zero. If you need just pure and simple TForm/Button/Edit/Memo/... designs, and never use anything special from the iOS hardware/permissions/etc., it could be possible in the simulator. If your goal is not to put a productive app on a real device or in the AppStore, just for checking out iOS, OK maybe.
  25. Rollo62

    StockSharp, anybody worked with this?

    Yes, of course. I think all major hackers put russian and chinese Unicode strings in their code, but in reality they live in in San Francisco, Redmont and Cupertino But jokes aside, why don't you look into the sources, to find something suspicious ? Hackers are usually very eager to leave their tags anywhere.
Ă—