With Android 26 (O) introducing Notification channels I have been investigating the Google supplied com.example.android.notificationchannels
This example works as expected until I attempted to add an Action to the Secondary Notification defined within the example app.
My code resembles this :-
   /**
     * Build notification for secondary channel.
     *
     * @param title Title for notification.
     * @param body Message for notification.
     * @return A Notification.Builder configured with the selected channel and details
     */
    @RequiresApi(api = Build.VERSION_CODES.O)
    public Notification.Builder getNotification2(String title, String body) {
        return new Notification.Builder(getApplicationContext(), SECONDARY_CHANNEL)
                .setContentTitle(title)
                .setContentText(body)
                .setActions(buildAction())
                .setSmallIcon(getSmallIcon())
                .setAutoCancel(true);
    }
and buildAction() :-
   @TargetApi(Build.VERSION_CODES.KITKAT_WATCH)
    private Notification.Action buildAction() {
        final Intent intent = new Intent(this, SecondActivity.class);
        final PendingIntent pendingIntent =  PendingIntent.getActivity(this, 1729, intent, PendingIntent.FLAG_UPDATE_CURRENT );
        final Notification.Action myAction = new Notification.Action.Builder(R.drawable.ic_action_name, "RETRY", pendingIntent).build();
        return myAction;
    }
The Action is displayed and works as desired, however there is no Icon displayed next to the Action Title.
What have I done wrong?
My build.gradle file is shown below:-
buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.0-alpha4'
    }
}
apply plugin: 'com.android.application'
repositories {
    jcenter()
}
dependencies {
    compile "com.android.support:support-v4:26.+"
    compile "com.android.support:support-v13:26.+"
    compile "com.android.support:cardview-v7:26.+"
    compile "com.android.support:appcompat-v7:26.+"
}
// The sample build uses multiple directories to
// keep boilerplate and common code separate from
// the main sample code.
List<String> dirs = [
    'main',     // main sample code; look here for the interesting stuff.
    'common',   // components that are reused by multiple samples
    'template'] // boilerplate code that is generated by the sample template process
android {
    compileSdkVersion 26
    buildToolsVersion "26.0.0"
    // Values declared here override the ones declared in AndroidManifest.xml
    defaultConfig {
        minSdkVersion 16
        targetSdkVersion 26
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }
    sourceSets {
        main {
            dirs.each { dir ->
                java.srcDirs "src/${dir}/java"
                res.srcDirs "src/${dir}/res"
            }
        }
        androidTest.setRoot('tests')
        androidTest.java.srcDirs = ['tests/src']
    }
}
The Android Studio details are :-
Android Studio 3.0 Canary 4
Build #AI-171.4101728, built on June 15, 2017
JRE: 1.8.0_112-release-b736 x86_64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Mac OS X 10.11.6
 
    
 
     
    