eggheadgames / android-about-box Goto Github PK
View Code? Open in Web Editor NEWModern About Box for an Android App
License: MIT License
Modern About Box for an Android App
License: MIT License
Web link is opened in general browser intent instead of opening the custom web view implementation.
if not clear enough, i can add code
I'm completely new to this. I've added the about activity but I can't see the Leave Review, Try Other Apps, About Egghead Games, Privacy Policy and Acknowledgement categories! Do I need to implement them manually or there is a code for it?
I want to know which activity should I add in AboutActivity.launch(activity);
? Do I need to create an intent
for it?
I would like to implement the about activity only when the user taps an icon of about (or in a drop-down-the three dots menu) in app bar. How to implement that?
Crash reported:
Fatal Exception: android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=fb://profile/EggheadGames }
at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1878)
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1545)
at android.app.Activity.startActivityForResult(Activity.java:4283)
at android.support.v4.app.BaseFragmentActivityJB.startActivityForResult(BaseFragmentActivityJB.java:50)
at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:79)
at android.app.Activity.startActivityForResult(Activity.java:4230)
at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:859)
at android.app.Activity.startActivity(Activity.java:4567)
at android.app.Activity.startActivity(Activity.java:4535)
at com.eggheadgames.aboutbox.activity.AboutActivity.getOpenFacebookIntent(AboutActivity.java:231)
at com.eggheadgames.aboutbox.activity.AboutActivity$6.onClick(AboutActivity.java:132)
at com.danielstone.materialaboutlibrary.adapters.MaterialAboutItemAdapter$MaterialAboutItemViewHolder.onClick(MaterialAboutItemAdapter.java:62)
There is currently an aboutConfig. buildType
that is a boolean where true means Google and false means Amazon. This makes the code confusing. Let's switch to an enum.
I suggest the following:
store
with values googlePlay
and amazon
(later other stores might be added). This replaces buildType
.buildType
boolean with the store
enum, defaulting to googlePlay
if not setAboutConfig.BuildType.GOOGLE
with the enum valuePer #53 (comment), let's see if we're leaking:
BTW - I'd recommend to use LeakCanary to detect leaks in this library, because I've found it to leak without even starting the AboutActivity...
Facebook link do not open facebook app with the correct page or profile url.
It looks seem the code for facebook app is changed in the lastets versions.
I have tried and it works with "fb://page/" + FACEBOOK_PAGE_ID.
The code in this library using this URI: "fb://profile/" + name
Look at this line inAboutBoxUtils.java: Intent intent = new Intent("android.intent.action.VIEW", Uri.parse("fb://profile/" + name));
Please can you update the code?
Thank you and i'm sorry for my bad english.
Hi
That's because the about-box "app_name" is basically overriding mine and changing the app name etc...
Thanks ๐
Title^
Thanks
Per https://developer.amazon.com/blogs/post/Tx3A1TVL67TB24B/Linking-To-the-Amazon-Appstore-for-Android.html, amazon requires a URL like this to show all the apps for a publisher:
amzn://apps/android?p=com.amazon.mp3&showAll=1
Google uses the publisher name, not the app name, so the current code builds the incorrect URL.
Currently this code in the Email utility is not useful:
if ("google".equals(BuildConfig.FLAVOR)) {
emailSubject = config.emailSubject + "G";
} else if ("amazon".equals(BuildConfig.FLAVOR)) {
emailSubject = config.emailSubject + "K";
} else {
emailSubject = config.emailSubject;
}
because the BuildConfig
is not set now that it is a library. I.e. the final else
is always used.
Instead, it would be nice to have a footer in the email body that looks something like:
Please type your question here:
<about 4 lines of whitespace>
---------------------
App version: 1.20.2 (43)
Android version: 5.0.3
Device: Samsung S3
I'm not sure what device information can be retrieved without enabling extra permissions. We should limit it to whatever is available with no special permissions.
Not everyone will want or need branch.io. Let's make it optional.
I recent use about box library 1.3.2 but i am not able to view privacy policy html when click on privacy policy, I am loading privacy policy html path from assets folder and my second issue is that still empty card is shown for appconfig.publisher which is set null
You could add support for the different themes added in 1.7.0.
I think the top section should include an Author
and Copyright
if specified. Thoughts?
The About Company X
should be optional if no title
is set.
I can take a crack at the implementation, pretty straightforward.
Change the menu item from Acknowledgement to Acknowledgements.
Also adjust the typo in <string name="asknowledgment_log_event"
When I tap on the Twitter list in the About activity, the Twitter app opens for a second, displays a toast "Cannot load the user's info. Please try again." How to resolve this? I've the following code line:
private static final String TWITTER_USER_NAME = "@vaibhav_khulbe";
and it's used as: aboutConfig.twitterUserName = TWITTER_USER_NAME;
I've also tried adding the Twitter profile URL but it displays the same toast. The link works fine with Chrome in my emulator.
Is there a way to remove cards from About Activity? I know you can leave options null so that they don;t appear, but the an empty card will still appear. Can you remove the card entirely or do I need to implement it myself?
E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #2 Process: com.ingridtech.antivirus, PID: 782 java.lang.RuntimeException: An error occurred while executing doInBackground() at android.os.AsyncTask$3.done(AsyncTask.java:326) at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:354) at java.util.concurrent.FutureTask.setException(FutureTask.java:223) at java.util.concurrent.FutureTask.run(FutureTask.java:242) at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:244) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) at java.lang.Thread.run(Thread.java:761) Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.String.replace(java.lang.CharSequence, java.lang.CharSequence)' on a null object reference at com.eggheadgames.aboutbox.activity.AboutActivity.buildSocialNetworksCard(AboutActivity.java:180) at com.eggheadgames.aboutbox.activity.AboutActivity.getMaterialAboutList(AboutActivity.java:41) at com.danielstone.materialaboutlibrary.MaterialAboutActivity$ListTask.doInBackground(MaterialAboutActivity.java:156) at com.danielstone.materialaboutlibrary.MaterialAboutActivity$ListTask.doInBackground(MaterialAboutActivity.java:146) at android.os.AsyncTask$2.call(AsyncTask.java:306) at java.util.concurrent.FutureTask.run(FutureTask.java:237) at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:244)ย at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)ย at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)ย at java.lang.Thread.run(Thread.java:761)ย
Currently the EmailUtil
uses the Build config constant "flavor" which doesn't exist. It should use the aboutConfig.buildType
instead.
This can be easily tested, because the email subject does not have "G" on the end of it as it should.
Let's improve accessibility as suggested by Google Play as follows:
I don't think the cards add much value here given that the labels are clearly defined.
Per https://support.google.com/accessibility/android/answer/7158690, let's explicitly mark each of these cards as not requiring content:
Decorative images or images that don't convey meaningful information graphically do not require content labels. In these cases, set an android:contentDescription attribute of "@null" or an android:importantForAccessibility attribute of "no".
Add a new setting:
aboutConfig.guideHtmlPath
If this is null or empty, then there is no new behaviour. If it has a value, then In the same grouping as Contact Support, and above that entry, add a new item "Guide" which will display the associated html file.
We're using release 1.8.3, and, as of this issue being created, the current release for Material About Library is 2.2.1.
PRs happily accepted ๐
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.