saeedjassani / shiacompanion Goto Github PK
View Code? Open in Web Editor NEWAll the features needed by the lovers of Ahle Bayt (may Allah's peace and blessings be upon them) in one app
License: MIT License
All the features needed by the lovers of Ahle Bayt (may Allah's peace and blessings be upon them) in one app
License: MIT License
Two options currently:
This issue depends on #7
Currently, the data is loaded in home_page.dart which is not a very good UX.
https://stackoverflow.com/a/58615642/4451655
Using the above answer, we can display SplashScreen until the data is loaded so to provide a smooth user experience.
Potential News providers:
https://en.abna24.com/rss
https://en.shafaqna.com/feed/
Feed Reader:
https://pub.dev/packages/webfeed
Currently flutter_webview_plugin
is being used to play m3u8 live streams on iOS. This doesn't work on iOS. Issue raised here fluttercommunity/flutter_webview_plugin#836
Tried using chewie, but it returned the following error:
): Playback error
E/ExoPlayerImplInternal(26047): com.google.android.exoplayer2.ExoPlaybackException: Source error
E/ExoPlayerImplInternal(26047): at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:554)
E/ExoPlayerImplInternal(26047): at android.os.Handler.dispatchMessage(Handler.java:103)
E/ExoPlayerImplInternal(26047): at android.os.Looper.loop(Looper.java:241)
E/ExoPlayerImplInternal(26047): at android.os.HandlerThread.run(HandlerThread.java:67)
E/ExoPlayerImplInternal(26047): Caused by: com.google.android.exoplayer2.upstream.HttpDataSource$HttpDataSourceException: Unable to connect
E/ExoPlayerImplInternal(26047): at com.google.android.exoplayer2.upstream.DefaultHttpDataSource.open(DefaultHttpDataSource.java:309)
E/ExoPlayerImplInternal(26047): at com.google.android.exoplayer2.upstream.StatsDataSource.open(StatsDataSource.java:84)
E/ExoPlayerImplInternal(26047): at com.google.android.exoplayer2.upstream.DataSourceInputStream.checkOpened(DataSourceInputStream.java:101)
E/ExoPlayerImplInternal(26047): at com.google.android.exoplayer2.upstream.DataSourceInputStream.open(DataSourceInputStream.java:64)
E/ExoPlayerImplInternal(26047): at com.google.android.exoplayer2.upstream.ParsingLoadable.load(ParsingLoadable.java:177)
E/ExoPlayerImplInternal(26047): at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:415)
E/ExoPlayerImplInternal(26047): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
E/ExoPlayerImplInternal(26047): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
E/ExoPlayerImplInternal(26047): at java.lang.Thread.run(Thread.java:919)
E/ExoPlayerImplInternal(26047): Caused by: java.io.IOException: Cleartext HTTP traffic to cdn.smartstream.video not permitted
E/ExoPlayerImplInternal(26047): at com.android.okhttp.HttpHandler$CleartextURLFilter.checkURLPermitted(HttpHandler.java:124)
E/ExoPlayerImplInternal(26047): at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:462)
E/ExoPlayerImplInternal(26047): at com.android.okhttp.internal.huc.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:131)
E/ExoPlayerImplInternal(26047): at com.google.android.exoplayer2.upstream.DefaultHttpDataSource.makeConnection(DefaultHttpDataSource.java:589)
E/ExoPlayerImplInternal(26047): at com.google.android.exoplayer2.upstream.DefaultHttpDataSource.makeConnection(DefaultHttpDataSource.java:493)
E/ExoPlayerImplInternal(26047): at com.google.android.exoplayer2.upstream.DefaultHttpDataSource.open(DefaultHttpDataSource.java:307)
E/ExoPlayerImplInternal(26047): ... 8 more
E/flutter (26047): [ERROR:flutter/lib/ui/ui_dart_state.cc(177)] Unhandled Exception: PlatformException(VideoError,
Video player had error com.google.android.exoplayer2.ExoPlaybackException: Source error, null, null)
Add the following plugin:
https://pub.dev/packages/firebase_crashlytics#pub-pkg-tab-installing
Option to adjust hijri date is given in settings but isn't used in Calendar and home page.
Support these three type of custom messages:
iOS doesn't allow custom notification sound of more than 30 seconds.
https://developer.apple.com/documentation/usernotifications/unnotificationsound
Solution: Get this azan and trim it to first 26 seconds. (only 4x Allahu Akbar)
http://praytimes.org/audio/adhan/Shia/Rezaeian.mp3
Creating screenshots for iOS is a messy manual work. It requries three different sizes and if the screenshot is not latest, the app update may get rejected. To solve this, we can use codemagic CI/CD to generate screenshot whenever we submit a new build.
https://blog.codemagic.io/automated-screenshots-for-apple-store/
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.