Coder Social home page Coder Social logo

candybar-library's Introduction

CandyBar

Build Status CircleCI Codacy Badge License
Android Icon Pack Material Dashboard

Get it on Google Play

Gradle Dependency

The minimum API level supported by this library is API 15

Add JitPack repository to root build.gradle

allprojects {
    repositories {
        maven { url "https://jitpack.io" }
    }
}

Add the dependency

dependencies {
    implementation 'com.github.danimahardhika.candybar-library:core:3.5.0-b4'
}

Or use a snapshot

dependencies {
    implementation('com.github.danimahardhika.candybar-library:core:-SNAPSHOT') {
        changing = true
    }
}

How to Use

Take a look inside Wiki Site

Previews

Features

  • License Checker
  • Apply: 23 launchers
  • Icon Picker: see all icons included with sections and search
  • Icon Request
    • Regular Request: free to request
    • Premium Request: pay to request
  • Cloud Based Wallpaper
    • Preview wallpaper
    • Apply wallpaper: inbuilt wallpaper crop
    • Download wallpaper
  • Settings
    • Clear Cache
    • Swith to Dark Theme
    • Restore Purchases: restore premium request after reinstalling
  • Frequently Asked Questions: with search
  • About
  • Donation
  • Changelog: show changelog every update
  • Muzei Live Wallpaper: smart art source loader
  • Localization: supports more than 10 languages

NOTE: This is just Icon Pack Dashboard, not Icon Pack template or Icon Pack tutorial. You need to add required XML for Icon Pack by yourself.

Support Development

Support development by making donation through demo app at Google Play

Translation

Help translating CandyBar to supports more languages here

Need a Help?

Join CandyBar community on Google+

Icon Pack Using CandyBar

Want your icon pack listed here? Mention me at Google Plus.

License

Copyright (c) 2014-2016 Dani Mahardhika

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

candybar-library's People

Contributors

danimahardhika avatar kshitijdeota avatar leifniem avatar technologx 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

candybar-library's Issues

Random crash when opening icons section

The case is very rare, this is just minor bug

Caused by

java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.View android.support.v4.app.FragmentActivity.findViewById(int)' on a null object reference
com.dm.material.dashboard.candybar.fragments.IconsBaseFragment(SourceFile:164)

[Suggestion] Direct apply for Evie

Had a lot of complains like "1 star because no evie support" (i know it has) but since there is no direct apply people tend to think it doesn't work.

Mailed the Evie team about intent filters but got no reply, so with no know-how i don't know if i can contribute anything :/

[Suggestion] Check for IAP bypassers.

Got 3 premium requests which weren't paid for, so i downloaded to see if freedom is able to bypass the IAP process and it is.

Just a suggestion to check for the packages via License Check.

Sorry if i'm bothering you with such exotic problems Dani.

Icon request limit not working as expected

if (requestLimit) {
    int limit = getActivity().getResources().getInteger(R.integer.icon_request_limit);
    int used = Preferences.getPreferences(getActivity()).getRegularRequestUsed();
    if (selected > (limit - used)) {
        RequestHelper.showIconRequestLimitDialog(getActivity());
        return;
    }

    Preferences.getPreferences(getActivity()).setRegularRequestUsed(selected);
}

I made a mistake in this part

Preferences.getPreferences(getActivity()).setRegularRequestUsed(selected);

Number of request used replaced with current selected apps. It can be fixed with this

Preferences.getPreferences(getActivity()).setRegularRequestUsed((used + selected));

Google Inbox not supported as email client

In icon request, it says Inbox as "Not supported" so I can't send icon requests with Inbox. That's a problem because Inbox is only email app in my phone.
Would it be possible to support Inbox?

Splash Screen & Home Screen Header

What would the splash screen image size be if it was just a text image instead of a icon? Also what is the home screen header image dimensions?

Requests restore after uninstall

A user told me purchased 10 premium requests, made 8 requests, uninstalled the app and reinstalled it and had 10 requests again.

Can't confirm it myself since i do not have a second google account, but can hand out promo codes to test this.

[Suggestion] Donation Card in Home Fragment

Since i can't hack my way around the binding:

It would be nice to have an optional Card like "Quick apply" for Donations in the home fragment.
The xml was simple copy & change while i can't seem to find a good way to add the binding. Could you provide a public method or another noob-friendly way good sir?

Cheers, thank you and have a great Sunday!

Random crash when checking new wallpapers

Caused by

java.lang.RuntimeException: 
Error receiving broadcast Intent { 
    act=candybar.broadcast.receiver 
    cat=[android.intent.category.DEFAULT] 
    flg=0x10 (has extras)
} 

in com.dm.material.dashboard.candybar.g.a@3083708

Option to show number of icons

You may add an option to show number of icons in each category of icons in the tab.
User may enable or disable this option from dashboard_configuration.xml

For example:- System(100), Games(72) etc.

BlueMail email client problem

Make icon request, select BlueMail. Email client opened but nothing happens.

Solution: remove BlueMail from recent list

Duplicate Icon Name Request Bug

If the user requests two icons with the same name (e.g. Contacts / Contacts) the request zip generation errors, and results in a corrupt zip file that refuses to send in any email client that I could try.

Stumbled across this by setting no limit on icon requests, and requesting every app on my phone. Multiple contacts, clock, etc apps.

Enable Premium Icon Request Only

For a free icon pack, the daily number of downloads are over 1000 & if every user sends atleast 5 icon request, it will amount to 5000 icon request daily which is not possible to fulfill.
Instead there are users who are willing to make premium request to get their icons done in a free icon pack.

Issue :-

If I disable Icon request but enable premium icon request, the icon request option disappears form the the side drawer. There should be an option to enable just the premium icon requests for Free icon packs.

[Bug] Missing drawable.xml

Without drawable.xml in the assets and res/xml folders app is not shown in the nova custom icon picker activity. Manually adding it did the job.

Widget Preview & Menu Items

Is there no in app widget preview for this dashboard? Also how do I go about adding extra stuff to the menu like a area for social links?

[Suggestion] Support for promo codes

Hello again,

as far as i understood promotional codes generated by the Developer Console need a special implementation to work. Would be a nice to have, but not a necessity.

Thanks again for this dashboard :)

Random crash when trying to show inapp billing product

java.lang.NullPointerException
com.dm.material.dashboard.candybar.adapters.InAppBillingAdapter.getView(SourceFile:74)

This is happened when trying to display inapp product price and name

String product = mInAppBillings[position].getPrice() +" - "+
                mInAppBillings[position].getProductName();

Option to allow/not-allow theme change

You may add an option to allow or not allow theme change irrespective of it's default state(light/dark).

This must be added in dashboard_configuration.xml as a boolean.

If disabled must hide from Settings fragment

[help] - WallpaperFragment

Hello,It's been 2 or 4 days since, I have this problem WallpaperFragment

The problem is very simple ...

I use the cloud wallpaper on my project, everything works at an exepction near wallpaperAdapter never adapts to the RecyclerView

The Toast appears and tells me that it did not work

I post this message only because I really really need help

[Suggestion] Bug Report Message

Since i've lately been getting a lot of Bug Report Mails, which include basically no useful information without an description of the error, i'd like to suggest an additional message Dialog when Reporting Bugs, to make sure people do not use the feature to troll.

Would such a feature be hard to add?

Wrong requested icon count results in App crash

When you select a few Apps, which you want to request and then spam(click very rapidly) one this may sometimes resolve in a wrong selected apps count in the toolbar(count is one to high). If you then click the FAB to send the request the app crashes. I tried this in the Sample App and in the Delta-Icon Pack, it worked on both.

PS: Please don't ask me why somebody would do something like that.

Naming Conventions

Couldn't figure them out myself, but it's a minor issue.

Keep up the fantastic work!

Allow certain strings to be excluded while displaying preview

I have icons named like apps_facebook, games_angry_birds, google_drive, misc_app_drawer.
It would be awesome if there can be a feature to add certain strings which will get excluded while displaying icon name such as if we put "apps_", "games_", "google_", "misc_" in that string array then the icon names will displayed as Facebook, Angry Birds, Drive & App Drawer capitalizing first alphabet of each word and underscore amounting to a space.

Icon request section not hidden properly

  • Icon request section not hidden even when both icon request and premium request disabled.
  • Icon request section not hidden when lucky patcher installed (only for condition: premium request enabled and icon request disabled)

Global Icon Search Layout Issue

After enabling global icon request, once you click on the search bar, it starts showing the list of icons alphabetically. But when the keyboard pops up at the same time, the icon list layout hides the search bar almost half.
screenshot_2016-11-14-15-25-07

Wallpapers not showing up in app!

For some reason your sample wallpapers which are broken links are showing instead of https://github.com/Technologx/AndroidIconThemes/blob/master/carved.json. Which I'm trying to get to load so I can see how well your wallpaper viewer is. How do I go about fixing this? I already did a clean & rebuild several times & still same issue.

This is what I have in the dashboard_configuration.xml file:

<?xml version="1.0" encoding="utf-8"?>
<resources
    xmlns:tools="http://schemas.android.com/tools"
    tools:ignore="MissingTranslation">

    <!-- ======================================================================================= -->
    <!-- ============================== DASHBOARD CONFIGURATIONS =============================== -->
    <!-- ======================================================================================= -->

    <!-- CONFIG: DEFAULT THEME -->

    <!-- Use dark theme as default theme -->
    <bool name="use_dark_theme">true</bool>

    <!-- CONFIG: MUZEI -->

    <!-- Muzei art source name -->
    <string name="muzei_art_source_name"></string>

    <!-- Muzei art source description -->
    <string name="muzei_art_source_desc"></string>

    <!-- Muzei base color -->
    <color name="muzei_color">#453c51</color>

    <!-- CONFIG: HOME -->

    <!-- Quick Apply for default launcher
    * Enable or disable quick apply Icon Pack for default launcher if supported
    * Enable -> true
    * Disable -> false -->
    <bool name="enable_quick_apply">true</bool>

    <!-- Home title must be defined -->
    <string name="home_title">InnerGlow</string>

    <!-- Home subtitle is optional
    * Leave empty if you don't want to show any text -->
    <string name="home_subtitle">Get your glow on!</string>

    <!-- Home image
    * If you want to use image from url, just put the url here
    * If you want to use image stored in project (drawable folder)
    * just put image name here without the extension (ex: home_image.png -> home_image) -->
    <string name="home_image">app_banner</string>

    <!-- Home image height
    * default: 256dp -->
    <dimen name="home_image_height">220dp</dimen>

    <!-- Home description
    - If you don't want to show description, just leave this empty -->
    <string name="home_description"><![CDATA[
        A beautifully designed set of icons with a nice inner blue glow &amp; a beautiful green outside.
        ]]></string>

    <!-- Icon Pack features (will be visible in home)
    * Number 1 - 5 must be included, after that only optional -->
    <string-array name="home_features">
        <!-- 1. This part must be about number of icons included -->
        <item>More than 531 custom icons included</item>
        <!-- 2. This part must be about icon quality -->
        <item>192x192 pixels vector based icons</item>
        <!-- 3. This part must be about number of wallpapers included
        * If your icon pack doesn't contains wallpaper just ignore this -->
        <item>10+ cloud wallpapers</item>
        <!-- 4. This part must be about muzei live wallpaper
        * If your icon pack doesn't contains wallpaper just ignore this -->
        <item></item>
        <!-- 5. This part must be about number of launchers supported -->
        <item>Supports more than 24 custom launchers</item>
        <!-- You can add another features here -->
        <item>Supports Dynamic Calendar</item>
        <item>Includes docks &amp; folders.</item>
    </string-array>

    <!-- More apps at Google Play Store
    * Link to google play store developer
    * If you don't want to show this part, just leave this empty -->
    <string name="google_play_dev">https://play.google.com/store/apps/dev?id=4712980303859595180</string>

    <!-- CONFIG: NAVIGATION VIEW HEADER -->

    <!-- Navigation view header image
    * If you want to use image from url, just put the url here
    * If you want to use image stored in project (drawable folder)
    * just put image name here without the extension
    * (ex: navigation_view_header.png -> navigation_view_header) -->
    <string name="navigation_view_header">app_banner</string>

    <!-- Navigation view header height
    * default: 200dp -->
    <dimen name="navigation_view_header_height">200dp</dimen>

    <!-- Navigation view header text
    * Leave empty if you don't want to show any text -->
    <string name="navigation_view_header_title">InnerGlow</string>

    <!-- Navigation view width -->
    <dimen name="navigation_view_width">300dp</dimen>

    <!-- CONFIG: ICONS
    * Take a look inside dashboard_icons.xml -->

    <!-- CONFIG: ICON REQUEST -->

    <!-- Enable or disable regular icon request
    * default: true
    * change to false to disable it -->
    <bool name="enable_icon_request">true</bool>

    <!-- Enable regular icon request limit
    * default: false
    * change to true to enable it -->
    <bool name="enable_icon_request_limit">false</bool>

    <!-- Limit regular icon request
    * IGNORE if icon request limit is disabled
    * ex: If you set icon request limit to 10, user only able to make 10 icon request in all time
    * After making 10 icon request user not able to request again -->
    <integer name="icon_request_limit">10</integer>

    <!-- Reset regular icon request limit every update
    * IGNORE if icon request limit is disabled
    * ex: You want to make user only able to make 10 request, set icon request limit (above) to 10
    * but you also want user able to make 10 request again after update, then enable this option
    * default: false
    * change to true to enable it -->
    <bool name="reset_icon_request_limit">true</bool>

    <!-- Enable or disable premium request
    * default: false
    * change to true to enable it -->
    <bool name="enable_premium_request">true</bool>

    <!-- Take a look inside License.java for premium request product -->

    <!-- Email that will be used to send icon request and report bugs -->
    <string name="dev_email">[email protected]</string>

    <!-- CONFIG: CLOUD WALLPAPERS -->

    <!-- WallpaperJSON json link
    * If your icon pack doesn't contains any wallpaper, just leave this empty
    * <string name="wallpaper_json"></string>-->
    <string name="wallpaper_json">https://raw.githubusercontent.com/Technologx/AndroidIconThemes/master/carved.json</string>

    <!-- Allow to download wallpaper
    * If disabled user only able to apply wallpaper from dashboard -->
    <bool name="enable_wallpaper_download">false</bool>

    <!-- Auto generated color for wallpaper card
    * default: true
    * change to false to disable it -->
    <bool name="card_wallpaper_auto_generated_color">true</bool>

    <!-- Wallpaper name and author below wallpaper
    * Show or hide name and author below wallpaper
    * Show -> true
    * Hide -> false -->
    <bool name="wallpaper_show_name_author">true</bool>

    <!-- Wallpapers grid preview quality
    * Image quality when displaying wallpapers in grid
    * Higher value means higher quality, more RAM usage
    * Lower value means lower quality, minimal RAM usage -->
    <integer name="wallpaper_grid_preview_quality">4</integer>

    <!-- CONFIG: ABOUT -->

    <!-- About header image
    * If you want to use image from url, just put the url here
    * If you want to use image stored in project (drawable folder)
    * just put image name here without the extension (ex: about_image.png -> about_image) -->
    <string name="about_image">http://firebirddesigns.net16.net/android/header.png</string>

    <!-- About profile image
    * If you want to use image from url, just put the url here
    * If you want to use image stored in project (drawable folder)
    * just put image name here without the extension (ex: about_profile_image.png -> about_profile_image) -->
    <string name="about_profile_image">http://firebirddesigns.net16.net/android/avatar.png</string>

    <!-- About title above description -->
    <string name="about_title">InnerGlow Icon Pack</string>

    <!-- About description below title -->
    <string name="about_desc">A beautifully designed set of icons with a nice inner blue glow &amp; a beautiful green outside.
    Each &amp; every icon was designed for beauty &amp; not rushed.</string>

    <!-- Email that showed in about
    * This part must be email
    * If you don't want to show email in about, just set about_email to empty
    * ex: <string name="about_email"></string> -->
    <string name="about_email_title"></string>
    <string name="about_email"></string>

    <!-- Link 1 showed in about
    * Link 1 must be included, link 2 is optional
    * You can change this to another link, like facebook, twitter etc
    * ex:
    * <string name="about_link_1_title">Facebook</string>
    * <string name="about_link_1_url">http://facebook.com/yourlink</string> -->
    <string name="about_link_1_title">Google+</string>
    <string name="about_link_1_url">http://plus.google.com/+KevinTechnologx</string>

    <!-- Link 2 showed in about
    * Link 2 is optional, if you don't want to show link 2, just set about_link_2_url to empty
    * ex: <string name="about_link_2_url"></string>
    * You can change this to another link, like facebook, twitter etc
    * ex:
    * <string name="about_link_2_title">Facebook</string>
    * <string name="about_link_2_url">http://facebook.com/yourlink</string> -->
    <string name="about_link_2_title">Facebook</string>
    <string name="about_link_2_url">https://facebook.com/Technologx2013</string>

    <!-- CONFIG: DONATE -->

    <!-- DONATION
    * Show support development option in navigation view
    * default: true
    * change to false to disable it -->
    <bool name="enable_donation">true</bool>

    <!-- Take a look inside License.java for donation product -->

    <!-- Splashscreen Text -->
    <string name="candybar_material_dashboard">A Fire Bird Designs product</string>

</resources>

Go Launcher Z support

I got a few reports from users having trouble with Go Launcher.
May this be due to an overhaul (the "Z"-suffix of the name is new to me) ? That would explain changed API's and the issue itself.

Thanks for taking a look :)

[Feature Request] Global Icon Search

Within the Icon section where you can preview the icons included in the icon pack it would be great if the search is performed globally i.e. across all categories at the same time instead of searching the category currently being viewed. This is the feature most users request in order to find icons easily.
Thanks

Search with spaces

When using a keyboard that autocompletes and adds a space to the end of a word the search function cannot find apps that exist. I would suggest that search ignores trailing spaces when a character does not follow.

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.