Skip to content

Commit

Permalink
AndroidDevMetrics v0.6
Browse files Browse the repository at this point in the history
* Maintenance: Updated dependencies
* Fix: Support for notifications on Android 26
  • Loading branch information
frogermcs committed Feb 12, 2018
1 parent a62c2a3 commit b3db45f
Show file tree
Hide file tree
Showing 12 changed files with 86 additions and 52 deletions.
6 changes: 6 additions & 0 deletions CHANGELOG.md
@@ -1,6 +1,12 @@
Change Log
==========

Version 0.6 *(2018-02-12)*
----------------------------

* Maintenance: Updated dependencies
* Fix: Support for notifications on Android 26

Version 0.5 *(2017-04-05)*
----------------------------

Expand Down
2 changes: 1 addition & 1 deletion README.md
Expand Up @@ -35,7 +35,7 @@ In your `build.gradle`:
}
dependencies {
classpath 'com.frogermcs.androiddevmetrics:androiddevmetrics-plugin:0.5'
classpath 'com.frogermcs.androiddevmetrics:androiddevmetrics-plugin:0.6'
}
}
Expand Down
8 changes: 7 additions & 1 deletion androiddevmetrics-plugin/build.gradle
Expand Up @@ -5,10 +5,16 @@ apply plugin: 'com.jfrog.bintray'
targetCompatibility = JavaVersion.VERSION_1_7
sourceCompatibility = JavaVersion.VERSION_1_7

repositories {
jcenter()
mavenLocal()
google()
}

dependencies {
compile gradleApi()
compile localGroovy()
compile 'com.android.tools.build:gradle:1.3.1'
compile 'com.android.tools.build:gradle:3.0.1'
compile 'org.aspectj:aspectjtools:1.8.8'
compile 'org.aspectj:aspectjrt:1.8.8'
}
Expand Down
Expand Up @@ -26,10 +26,10 @@ public class AndroidDevMetricsPlugin implements Plugin<Project> {
}

project.dependencies {
releaseCompile 'com.frogermcs.androiddevmetrics:androiddevmetrics-runtime-noop:0.5'
debugCompile 'com.frogermcs.androiddevmetrics:androiddevmetrics-runtime:0.5'
releaseCompile 'com.frogermcs.androiddevmetrics:androiddevmetrics-runtime-noop:0.6'
debugCompile 'com.frogermcs.androiddevmetrics:androiddevmetrics-runtime:0.6'
debugCompile 'org.aspectj:aspectjrt:1.8.8'
compile 'com.android.support:support-v4:23.1.1'
compile 'com.android.support:support-v4:26.1.0'
}

variants.all { variant ->
Expand Down
16 changes: 8 additions & 8 deletions androiddevmetrics-runtime-noop/build.gradle
@@ -1,4 +1,3 @@
import com.android.build.gradle.LibraryPlugin
import org.aspectj.bridge.IMessage
import org.aspectj.bridge.MessageHandler
import org.aspectj.tools.ajc.Main
Expand All @@ -24,12 +23,12 @@ repositories {
dependencies { }

android {
compileSdkVersion = 24
buildToolsVersion = '25.0.0'
compileSdkVersion = 26
buildToolsVersion = '27.0.3'

defaultConfig {
minSdkVersion 14
targetSdkVersion 23
targetSdkVersion 26
}


Expand All @@ -47,17 +46,14 @@ android {
}

android.libraryVariants.all { variant ->
LibraryPlugin plugin = project.plugins.getPlugin(LibraryPlugin)
JavaCompile javaCompile = variant.javaCompile
javaCompile.doLast {
String[] args = ["-showWeaveInfo",
"-1.5",
"-inpath", javaCompile.destinationDir.toString(),
"-aspectpath", javaCompile.classpath.asPath,
"-d", javaCompile.destinationDir.toString(),
"-classpath", javaCompile.classpath.asPath,
"-bootclasspath", plugin.project.android.bootClasspath.join(
File.pathSeparator)]
"-classpath", javaCompile.classpath.asPath]

MessageHandler handler = new MessageHandler(true);
new Main().run(args, handler)
Expand Down Expand Up @@ -151,6 +147,10 @@ bintray {
task sourcesJar(type: Jar) {
from android.sourceSets.main.java.srcDirs
classifier = 'sources'

println "mirek"
println BINTRAY_GPG_PASSWORD
println project.hasProperty('BINTRAY_GPG_PASSWORD')
}

task javadoc(type: Javadoc) {
Expand Down
16 changes: 6 additions & 10 deletions androiddevmetrics-runtime/build.gradle
@@ -1,4 +1,3 @@
import com.android.build.gradle.LibraryPlugin
import org.aspectj.bridge.IMessage
import org.aspectj.bridge.MessageHandler
import org.aspectj.tools.ajc.Main
Expand All @@ -23,17 +22,17 @@ repositories {

dependencies {
compile 'org.aspectj:aspectjrt:1.8.8'
compile 'com.android.support:support-compat:24.2.0'
compile 'com.android.support:appcompat-v7:24.2.0'
compile 'com.android.support:support-compat:26.1.0'
compile 'com.android.support:appcompat-v7:26.1.0'
}

android {
compileSdkVersion = 24
buildToolsVersion = '25.0.0'
compileSdkVersion = 26
buildToolsVersion = '27.0.3'

defaultConfig {
minSdkVersion 14
targetSdkVersion 24
targetSdkVersion 26
}


Expand All @@ -51,17 +50,14 @@ android {
}

android.libraryVariants.all { variant ->
LibraryPlugin plugin = project.plugins.getPlugin(LibraryPlugin)
JavaCompile javaCompile = variant.javaCompile
javaCompile.doLast {
String[] args = ["-showWeaveInfo",
"-1.5",
"-inpath", javaCompile.destinationDir.toString(),
"-aspectpath", javaCompile.classpath.asPath,
"-d", javaCompile.destinationDir.toString(),
"-classpath", javaCompile.classpath.asPath,
"-bootclasspath", plugin.project.android.bootClasspath.join(
File.pathSeparator)]
"-classpath", javaCompile.classpath.asPath]

MessageHandler handler = new MessageHandler(true);
new Main().run(args, handler)
Expand Down
@@ -1,10 +1,12 @@
package com.frogermcs.androiddevmetrics;

import android.app.Application;
import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.os.Build;
import android.support.v4.app.NotificationCompat;

import com.frogermcs.androiddevmetrics.aspect.ActivityLifecycleAnalyzer;
Expand Down Expand Up @@ -46,7 +48,7 @@ public class AndroidDevMetrics {

/**
* Enable Activity and Dagger 2 metrics
* */
*/
public static AndroidDevMetrics initWith(Context context) {
Builder androidDevMetricsBuilder = new Builder(context)
.enableActivityMetrics(true)
Expand Down Expand Up @@ -121,17 +123,42 @@ private void setupMetrics() {
}

private void showNotification() {
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(context)
.setSmallIcon(R.drawable.ic_timeline_white_18dp)
.setContentTitle(context.getString(R.string.adm_name))
.setContentText("Click to see current metrics")
.setAutoCancel(autoCancelNotification);

Intent resultIntent = new Intent(context, MetricsActivity.class);
PendingIntent resultPendingIntent = PendingIntent.getActivity(context, 0, resultIntent, PendingIntent.FLAG_UPDATE_CURRENT);
mBuilder.setContentIntent(resultPendingIntent);
NotificationManager mNotificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
mNotificationManager.notify("AndroidDevMetrics".hashCode(), mBuilder.build());

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
int importance = NotificationManager.IMPORTANCE_HIGH;
String notificationChannel = "AndroidDevMetrics";
NotificationChannel mChannel = mNotificationManager.getNotificationChannel(notificationChannel);
if (mChannel == null) {
mChannel = new NotificationChannel(notificationChannel, notificationChannel, importance);
mChannel.setDescription(notificationChannel);
mChannel.enableVibration(true);
mChannel.setVibrationPattern(new long[]{100, 200, 300, 400, 500, 400, 300, 200, 400});
mNotificationManager.createNotificationChannel(mChannel);
}

NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(context, notificationChannel)
.setSmallIcon(R.drawable.ic_timeline_white_18dp)
.setContentTitle(context.getString(R.string.adm_name))
.setContentText("Click to see current metrics")
.setAutoCancel(autoCancelNotification);

Intent resultIntent = new Intent(context, MetricsActivity.class);
PendingIntent resultPendingIntent = PendingIntent.getActivity(context, 0, resultIntent, PendingIntent.FLAG_UPDATE_CURRENT);
mBuilder.setContentIntent(resultPendingIntent);
mNotificationManager.notify("AndroidDevMetrics".hashCode(), mBuilder.build());
} else {
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(context)
.setSmallIcon(R.drawable.ic_timeline_white_18dp)
.setContentTitle(context.getString(R.string.adm_name))
.setContentText("Click to see current metrics")
.setAutoCancel(autoCancelNotification);

Intent resultIntent = new Intent(context, MetricsActivity.class);
PendingIntent resultPendingIntent = PendingIntent.getActivity(context, 0, resultIntent, PendingIntent.FLAG_UPDATE_CURRENT);
mBuilder.setContentIntent(resultPendingIntent);
mNotificationManager.notify("AndroidDevMetrics".hashCode(), mBuilder.build());
}
}

public List<UIInterceptor> interceptors() {
Expand Down
Expand Up @@ -52,17 +52,17 @@ private void initDescriptionsTree(Set<InitMetric> initMetrics, int depthLevel, S
final long totalInitTime = initMetric.getTotalInitTime();
final int warningLevel = getWarningLevel(initTimeWithoutArgs);

String depthStr = prev + "" + space(1);
String edgeChar = "";
String secondRowChar = "";
String depthStr = prev + "\u2502" + space(1);
String edgeChar = "\u251c";
String secondRowChar = "\u2502";
if (count == size - 1) {
edgeChar = "";
edgeChar = "\u2514";
secondRowChar = space(1);
depthStr = prev + space(2);
}

StringBuilder sb = new StringBuilder(prev);
sb.append(edgeChar + "─● <b>");
sb.append(edgeChar + "\u2500\u25CF <b>");
sb.append(initMetric.getSimpleClassName());
sb.append("</b><br/>");
sb.append(prev + secondRowChar + space(1));
Expand Down
15 changes: 7 additions & 8 deletions build.gradle
Expand Up @@ -7,15 +7,15 @@ buildscript {

// for local snapshots
mavenLocal()
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.2.2'
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
classpath 'com.android.tools.build:gradle:3.0.1'
classpath 'org.aspectj:aspectjtools:1.8.8'
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.5'
classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5'
classpath 'com.bmuschko:gradle-nexus-plugin:2.3.1'
classpath 'com.frogermcs.androiddevmetrics:androiddevmetrics-plugin:0.5'
classpath 'com.frogermcs.androiddevmetrics:androiddevmetrics-plugin:0.6'
}
}

Expand All @@ -25,13 +25,12 @@ allprojects {
maven {
url 'https://dl.bintray.com/frogermcs/maven/'
}
maven {
url "https://maven.google.com"
}

// for local snapshots
mavenLocal()
google()
}
}

ext {
compileSdkVersion = 24
buildToolsVersion = '25.0.0'
}
4 changes: 2 additions & 2 deletions gradle.properties
@@ -1,5 +1,5 @@
VERSION_NAME=0.5
VERSION_TAG=v0.5
VERSION_NAME=0.6
VERSION_TAG=v0.6
GROUP=com.frogermcs.androiddevmetrics

POM_DESCRIPTION=Performance metrics library for Android development
Expand Down
4 changes: 2 additions & 2 deletions gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
#Mon Nov 14 22:19:52 CET 2016
#Mon Feb 12 18:47:22 CET 2018
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip

0 comments on commit b3db45f

Please sign in to comment.