Icon Changer Library






FIRST
1. First make String with name "activeName"

2. Make List String with name "disableName"

get to Oncreate now in MainActivity.java
3. on String activeName set to Active icon By Default e.g "com.ebook.sketchware.MainActivity-default"

4. on List String disableName you can put list disable icon if not chooser e.g "com.ebook.sketchware.MainActivity-java" and "com.ebook.sketchware.MainActivity-black"

5. create new MoreBlok with name setIcon and add String with name "active" and add List String with name "disable"

6. add this code on this blok:


setAppIcon(_active, _disable);
}
public void setAppIcon(String activeName, List disableName) {
new AppIconNameChanger.Builder(MainActivity.this)
.activeName(activeName) // String
.disableNames(disableName) // List
.packageName(getApplicationContext().getPackageName())
.build()
.setNow();
}


public static class AppIconNameChanger {

    private Activity activity;
    List disableNames;
    String activeName;
    String packageName;

    public AppIconNameChanger(Builder builder) {

        this.disableNames = builder.disableNames;
        this.activity = builder.activity;
        this.activeName = builder.activeName;
        this.packageName = builder.packageName;

    }

    public static class Builder {

        private Activity activity;
        List disableNames;
        String activeName;
        String packageName;

        public Builder(Activity activity) {
            this.activity = activity;
        }

        public Builder disableNames(List disableNamesl) {
            this.disableNames = disableNamesl;
            return this;
        }

        public Builder activeName(String activeName) {
            this.activeName = activeName;
            return this;
        }

        public Builder packageName(String packageName) {
            this.packageName = packageName;
            return this;
        }

        public AppIconNameChanger build() {
            return new AppIconNameChanger(this);
        }

    }

    public void setNow() {

        activity.getPackageManager().setComponentEnabledSetting(
                new android.content.ComponentName(packageName, activeName),
                android.content.pm.PackageManager.COMPONENT_ENABLED_STATE_ENABLED, android.content.pm.PackageManager.DONT_KILL_APP);

        for (int i = 0; i < disableNames.size(); i++) {
            try {
                activity.getPackageManager().setComponentEnabledSetting(
                        new android.content.ComponentName(packageName, disableNames.get(i)),
                        android.content.pm.PackageManager.COMPONENT_ENABLED_STATE_DISABLED, android.content.pm.PackageManager.DONT_KILL_APP);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
}
public void CodeByGabriel() {

save and go to manifest:
7. Find this on manifest
<activity android:configchanges="orientation|screenSize" android:name=".MainActivity" android:theme="@style/FullScreen">
 <intent-filter>
  <action android:name="android.intent.action.MAIN">
  <category android:name="android.intent.category.LAUNCHER">
 </category></action></intent-filter>
</activity>
Remove this tag intent:
<intent-filter>
 <action android:name="android.intent.action.MAIN">
 <category android:name="android.intent.category.LAUNCHER">
</category>
</action>
</intent-filter>

And After tag:
</activity>

You just add Activity Alias:
<activity-alias
            android:enabled="true"
            android:icon="@drawable/app_icon"
            android:label="Java Library"
            android:name="com.ebook.sketchware.MainActivity-default"
            android:targetActivity=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity-alias>
<activity-alias
            android:enabled="false"
            android:icon="@drawable/icon_java"
            android:label="Java Library"
            android:name="com.ebook.sketchware.MainActivity-java"
            android:targetActivity=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity-alias>
<activity-alias
            android:enabled="false"
            android:icon="@drawable/icon_black"
            android:label="Java Library"
            android:name="com.ebook.sketchware.MainActivity-black"
            android:targetActivity=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity-alias>


True = are default icon actived.. you only changr icon location you want.. Done And Tested..

Share this

Previous
Next Post »

2 comments

comments