Skip to content

Commit

Permalink
Update android plugin to 0.7.0
Browse files Browse the repository at this point in the history
  • Loading branch information
Sergey Shatunov committed Dec 19, 2013
1 parent 2f68aee commit f977442
Show file tree
Hide file tree
Showing 12 changed files with 130 additions and 60 deletions.
11 changes: 5 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
![HoloEverywhere](https://github.com/Prototik/HoloEverywhere/raw/gh-pages/github-res/logo.png "HoloEverywhere")

[![Build Status](https://travis-ci.org/Prototik/HoloEverywhere.png?branch=master)](https://travis-ci.org/Prototik/HoloEverywhere)
![HoloEverywhere](https://github.com/Prototik/HoloEverywhere/raw/gh-pages/github-res/logo.png "HoloEverywhere")
[![Build Status](https://travis-ci.org/Prototik/HoloEverywhere.png?branch=master)](https://travis-ci.org/Prototik/HoloEverywhere)
Latest stable version: [2.1.0 Darkest Sunrise](https://github.com/Prototik/HoloEverywhere/releases/tag/v2.1.0)
Demo: [Stable][APKDemoStable] | [Latest][APKDemoLatest]
Issues: [Stable][APKIssuesStable] | [Latest][APKIssuesLatest]

## What is it?
Bringing Holo Theme from Android 4.1 to 2.1 and above.
[![Donate](https://github.com/Prototik/HoloEverywhere/raw/gh-pages/github-res/donate_button.png)][Donate]
### APK's:
Demo: [Stable][APKDemoStable] | [Latest][APKDemoLatest]
Issues: [Stable][APKIssuesStable] | [Latest][APKIssuesLatest]

## How to use?
### [Eclipse](https://github.com/Prototik/HoloEverywhere/wiki/Import-in-IDE#eclipse)
Expand Down
8 changes: 8 additions & 0 deletions addons/preferences/lint.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<lint>
<issue id="NewApi">
<ignore path="res/layout/preference_widget_switch.xml" />
<ignore path="res/layout/preference_widget_switch.xml" />
<ignore path="res/layout/preference_dialog_numberpicker.xml" />
</issue>
</lint>
20 changes: 16 additions & 4 deletions android_default.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,10 @@ if (android.class.name.startsWith('com.android.build.gradle.AppExtension') && pr
signingConfig signingConfigs.release
}
}

lintOptions {
abortOnError = false
}
}
artifacts {
archives file: file("${buildDir}/apk/${project.name}-release.apk"), type: 'apk'
Expand Down Expand Up @@ -97,10 +101,19 @@ if (android.class.name.startsWith('com.android.build.gradle.LibraryExtension'))
archives new DefaultPublishArtifact(project.name, 'apklib', 'apklib', '', new Date(), file("${project.buildDir}/libs/${project.name}-${project.version}.apklib"), tasks.apklib)
}
}

android.lintOptions {
abortOnError = false
}
}

apply plugin: 'holoeverywhere-main'
holoeverywhere.include 'no'
holoeverywhere {
include 'no'
resbuilder {
include 'no'
}
}

// Deploy to maven repo (local)
afterEvaluate { project ->
Expand All @@ -111,12 +124,10 @@ afterEvaluate { project ->

uploadArchives {
repositories {
mavenDeployer {
mavenDeployer {
configuration = configurations.deployerJars
beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) }

pom.artifactId = ARTIFACT_ID

def String repoUrl = project.properties.get('holoeverywhere.repo', 'file:///invalid_path')
if (repoUrl.startsWith('scpexe://')) {
repository(url: repoUrl) {
Expand All @@ -127,6 +138,7 @@ afterEvaluate { project ->
}

pom.project {
artifactId ARTIFACT_ID
name NAME
packaging PACKAGING
description DESCRIPTION
Expand Down
30 changes: 15 additions & 15 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,25 +1,25 @@
buildscript {
repositories {
mavenCentral()
}
repositories {
mavenCentral()
}

dependencies {
classpath 'com.android.tools.build:gradle:0.6.3'
classpath 'org.holoeverywhere:plugin:0.2.2'
}
dependencies {
classpath 'com.android.tools.build:gradle:0.7.0'
classpath 'org.holoeverywhere:plugin:0.2.2'
}
}

allprojects {
group = 'org.holoeverywhere'
version = '2.1.1-SNAPSHOT'
group = 'org.holoeverywhere'
version = '2.1.1-SNAPSHOT'

repositories {
mavenCentral()
}
repositories {
mavenCentral()
}

tasks.withType(Compile) {
options.encoding = "UTF-8"
}
tasks.withType(Compile) {
options.encoding = "UTF-8"
}
}

task buildMaven(type: Exec) {
Expand Down
2 changes: 1 addition & 1 deletion demo/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:installLocation="auto" package="org.holoeverywhere.demo">
<uses-sdk android:minSdkVersion="7" android:targetSdkVersion="18"/>
<uses-sdk android:minSdkVersion="7" android:targetSdkVersion="19"/>
<application android:allowBackup="true" android:hardwareAccelerated="true" android:icon="@drawable/icon" android:label="@string/app_name" android:name=".DemoApplication">
<activity android:launchMode="singleInstance" android:name=".DemoActivity" android:windowSoftInputMode="stateHidden">
<intent-filter>
Expand Down
19 changes: 9 additions & 10 deletions demo/demo.iml
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,14 @@
<component name="FacetManager">
<facet type="android" name="Android">
<configuration>
<option name="SELECTED_BUILD_VARIANT" value="Debug" />
<option name="SELECTED_BUILD_VARIANT" value="debug" />
<option name="ASSEMBLE_TASK_NAME" value="assembleDebug" />
<option name="COMPILE_JAVA_TASK_NAME" value="compileDebug" />
<option name="ASSEMBLE_TEST_TASK_NAME" value="assembleTest" />
<option name="COMPILE_JAVA_TASK_NAME" value="compileDebugJava" />
<option name="ASSEMBLE_TEST_TASK_NAME" value="assembleDebugTest" />
<option name="SOURCE_GEN_TASK_NAME" value="generateDebugSources" />
<option name="ALLOW_USER_CONFIGURATION" value="false" />
<option name="RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/res" />
<option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" />
<option name="UPDATE_PROPERTY_FILES" value="true" />
</configuration>
</facet>
<facet type="android-gradle" name="Android-Gradle">
Expand All @@ -26,14 +25,14 @@
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/build/source/r/debug" isTestSource="false" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/build/source/aidl/debug" isTestSource="false" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/build/source/rs/debug" isTestSource="false" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/build/source/buildConfig/debug" isTestSource="false" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/build/source/rs/debug" isTestSource="false" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/build/res/rs/debug" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/build/source/r/test" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/build/source/aidl/test" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/build/source/rs/test" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/build/source/buildConfig/test" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/build/res/rs/test" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/build/source/r/test/debug" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/build/source/aidl/test/debug" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/build/source/buildConfig/test/debug" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/build/source/rs/test/debug" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/build/res/rs/test/debug" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/debug/aidl" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/debug/assets" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/debug/java" isTestSource="false" />
Expand Down
3 changes: 2 additions & 1 deletion demo/lint.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,5 @@
<ignore path="res/layout/number_picker_demo.xml" />
<ignore path="res/layout/main.xml" />
</issue>
</lint>
<issue id="MissingPrefix" severity="warning" />
</lint>
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=http\://services.gradle.org/distributions/gradle-1.8-all.zip
distributionUrl=http\://services.gradle.org/distributions/gradle-1.9-all.zip
2 changes: 1 addition & 1 deletion library/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="org.holoeverywhere">
<uses-sdk android:minSdkVersion="7" android:targetSdkVersion="18"/>
<uses-sdk android:minSdkVersion="7" android:targetSdkVersion="19"/>
</manifest>
32 changes: 14 additions & 18 deletions library/lint.xml
Original file line number Diff line number Diff line change
@@ -1,21 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<lint>
<issue id="HandlerLeak" >
<ignore path="src/org/holoeverywhere/app/ProgressDialog.java" />
<ignore path="src/org/holoeverywhere/preference/PreferenceActivity.java" />
<ignore path="src/org/holoeverywhere/preference/PreferenceActivity.java" />
<ignore path="src/org/holoeverywhere/preference/PreferenceFragment.java" />
<ignore path="src/org/holoeverywhere/preference/PreferenceFragment.java" />
<ignore path="src/org/holoeverywhere/widget/ProgressDialog.java" />
</issue>
<issue id="NewApi" >
<ignore path="src/org/holoeverywhere/app/AlertDialog.java" />
<ignore path="src/org/holoeverywhere/app/Dialog.java" />
<ignore path="src/com/actionbarsherlock/internal/view/menu/ContextMenuDecorView.java" />
<ignore path="res/layout/preference_widget_switch.xml" />
<ignore path="res/layout/preference_dialog_numberpicker.xml" />
<ignore path="res/layout/date_picker_holo.xml" />
<ignore path="res/layout/time_picker_holo.xml" />
<ignore path="bin" />
</issue>
<issue id="HandlerLeak">
<ignore path="src/org/holoeverywhere/app/ProgressDialog.java" />
<ignore path="src/org/holoeverywhere/preference/PreferenceActivity.java" />
<ignore path="src/org/holoeverywhere/preference/PreferenceActivity.java" />
<ignore path="src/org/holoeverywhere/preference/PreferenceFragment.java" />
<ignore path="src/org/holoeverywhere/preference/PreferenceFragment.java" />
<ignore path="src/org/holoeverywhere/widget/ProgressDialog.java" />
</issue>
<issue id="NewApi" severity="warning">
<ignore path="src/org/holoeverywhere/app/AlertDialog.java" />
<ignore path="src/org/holoeverywhere/app/Dialog.java" />
<ignore path="src/android/support/v7/internal/view/menu/ContextMenuDecorView.java" />
</issue>
<issue id="MissingPrefix" severity="warning" />
</lint>
16 changes: 14 additions & 2 deletions library/src/org/holoeverywhere/HoloEverywhere.java
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@

package org.holoeverywhere;

import android.os.Build.VERSION;
import android.os.Build.VERSION_CODES;
import android.util.Log;

public class HoloEverywhere {
/**
* Main package of HoloEverywhere
*/
public static final String PACKAGE;
private static final String LOG_TAG = "HoloEverywhere";
/**
* When you call new activity it will be has parent activity theme
*/
Expand Down Expand Up @@ -55,6 +55,18 @@ public class HoloEverywhere {
private HoloEverywhere() {
}

public static void warn(String message, Throwable throwable) {
Log.w(LOG_TAG, message, throwable);
}

public static void warn(String message, Object... args) {
warn(String.format(message, args), (Throwable) null);
}

public static void warn(Throwable throwable) {
warn(null, throwable);
}

public static enum PreferenceImpl {
JSON, XML
}
Expand Down
45 changes: 44 additions & 1 deletion library/src/org/holoeverywhere/LayoutInflater.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import android.annotation.SuppressLint;
import android.annotation.TargetApi;
import android.content.Context;
import android.content.res.Resources;
import android.content.res.TypedArray;
import android.content.res.XmlResourceParser;
import android.graphics.Canvas;
Expand All @@ -29,6 +30,7 @@
import org.holoeverywhere.app.ContextThemeWrapperPlus;
import org.holoeverywhere.app.Dialog;
import org.holoeverywhere.app.Fragment;
import org.holoeverywhere.util.SparseIntArray;
import org.holoeverywhere.widget.FrameLayout;
import org.holoeverywhere.widget.NumberPicker;
import org.xmlpull.v1.XmlPullParser;
Expand All @@ -54,6 +56,7 @@ public class LayoutInflater extends android.view.LayoutInflater implements Clone
private static final Map<Context, LayoutInflater> sInstances = new WeakHashMap<Context, LayoutInflater>();
private static final List<String> sPackages = new ArrayList<String>();
private static final Map<String, String> sRemaps = new HashMap<String, String>();
private static final SparseIntArray sLayoutRemap = new SparseIntArray();
private static final String TAG_1995 = "blink";
private static final String TAG_INCLUDE = "include";
private static final String TAG_MERGE = "merge";
Expand Down Expand Up @@ -175,6 +178,46 @@ public static void register(String from, String to) {
LayoutInflater.sRemaps.put(from, to);
}

/**
* Hack for overriding android default layouts for custom.<br />
* For example, if some parts of android framework try to inflate layout {@link android.R.layout#simple_list_item_1}
* you can override this behavior and replace system layout by custom<br />
* Just call register(android.R.layout.simple_list_item_1, R.layout.my_simple_list_item)<br />
* <br />
* Be sure that you need for it before using. You are warned.
*/
public static void register(int fromId, int toId) {
if (toId == 0) {
sLayoutRemap.delete(fromId);
} else {
sLayoutRemap.put(fromId, toId);
}
}

/**
* Resolve ids for given name in each package (android and application) and then call {@link #register(int, int)}
*/
public static void register(Context context, String name) {
final Resources res = context.getResources();
int androidId = res.getIdentifier(name, "layout", "android");
int appId = res.getIdentifier(name, "layout", context.getPackageName());
if (androidId != 0 && appId != 0) {
register(androidId, appId);
} else {
HoloEverywhere.warn("Failed to register layout remapping:\n" +
" Android ID: 0x%8x\n" +
" Application ID: 0x%8x",
androidId, appId);
}
}

/**
* Resolve ids for given id in each package (android and application) and then call {@link #register(int, int)}
*/
public static void register(Context context, int id) {
register(context, context.getResources().getResourceName(id));
}

public static void registerPackage(String packageName) {
packageName = resolveFullPackageName(packageName);

Expand Down Expand Up @@ -369,7 +412,7 @@ public View inflate(int resource, ViewGroup root) {

@Override
public View inflate(int resource, ViewGroup root, boolean attachToRoot) {
return inflate(getContext().getResources().getLayout(resource), root, attachToRoot);
return inflate(getContext().getResources().getLayout(sLayoutRemap.get(resource, resource)), root, attachToRoot);
}

public View inflate(XmlPullParser parser) {
Expand Down

0 comments on commit f977442

Please sign in to comment.