content: package android.support.v4.app;
  
  import android.app.Notification;
  import android.os.Binder;
  import android.os.IBinder;
  import android.os.IInterface;
  import android.os.Parcel;
  import android.os.RemoteException;
  
  public interface INotificationSideChannel extends IInterface {
  
      public static class Default implements INotificationSideChannel {
          public IBinder asBinder() {
              return null;
          }
  
          public void cancel(String packageName, int id, String tag) throws RemoteException {
          }
  
          public void cancelAll(String packageName) throws RemoteException {
          }
  
          public void notify(String packageName, int id, String tag, Notification notification) throws RemoteException {
          }
      }
  
      public static abstract class Stub extends Binder implements INotificationSideChannel {
          private static final String DESCRIPTOR = "android.support.v4.app.INotificationSideChannel";
          static final int TRANSACTION_cancel = 2;
          static final int TRANSACTION_cancelAll = 3;
          static final int TRANSACTION_notify = 1;
  
          private static class Proxy implements INotificationSideChannel {
              public static INotificationSideChannel sDefaultImpl;
              private IBinder mRemote;
  
              Proxy(IBinder remote) {
                  this.mRemote = remote;
              }
  
              public IBinder asBinder() {
                  return this.mRemote;
              }
  
              public void cancel(String packageName, int id, String tag) throws RemoteException {
                  Parcel obtain = Parcel.obtain();
                  try {
                      obtain.writeInterfaceToken(Stub.DESCRIPTOR);
                      obtain.writeString(packageName);
                      obtain.writeInt(id);
                      obtain.writeString(tag);
                      if (this.mRemote.transact(2, obtain, (Parcel) null, 1) || Stub.getDefaultImpl() == null) {
                          obtain.recycle();
                      } else {
                          Stub.getDefaultImpl().cancel(packageName, id, tag);
                      }
                  } finally {
                      obtain.recycle();
                  }
              }
  
              public void cancelAll(String packageName) throws RemoteException {
                  Parcel obtain = Parcel.obtain();
                  try {
                      obtain.writeInterfaceToken(Stub.DESCRIPTOR);
                      obtain.writeString(packageName);
                      if (this.mRemote.transact(3, obtain, (Parcel) null, 1) || Stub.getDefaultImpl() == null) {
                          obtain.recycle();
                      } else {
                          Stub.getDefaultImpl().cancelAll(packageName);
                      }
                  } finally {
                      obtain.recycle();
                  }
              }
  
              public String getInterfaceDescriptor() {
                  return Stub.DESCRIPTOR;
              }
  
              public void notify(String packageName, int id, String tag, Notification notification) throws RemoteException {
                  Parcel obtain = Parcel.obtain();
                  try {
                      obtain.writeInterfaceToken(Stub.DESCRIPTOR);
                      obtain.writeString(packageName);
                      obtain.writeInt(id);
                      obtain.writeString(tag);
                      if (notification != null) {
                          obtain.writeInt(1);
                          notification.writeToParcel(obtain, 0);
                      } else {
                          obtain.writeInt(0);
                      }
                      if (this.mRemote.transact(1, obtain, (Parcel) null, 1) || Stub.getDefaultImpl() == null) {
                          obtain.recycle();
                      } else {
                          Stub.getDefaultImpl().notify(packageName, id, tag, notification);
                      }
                  } finally {
                      obtain.recycle();
                  }
              }
          }
  
          public Stub() {
              attachInterface(this, DESCRIPTOR);
          }
  
          public static INotificationSideChannel asInterface(IBinder obj) {
              if (obj == null) {
                  return null;
              }
              IInterface queryLocalInterface = obj.queryLocalInterface(DESCRIPTOR);
              return (queryLocalInterface == null || !(queryLocalInterface instanceof INotificationSideChannel)) ? new Proxy(obj) : (INotificationSideChannel) queryLocalInterface;
          }
  
          public static INotificationSideChannel getDefaultImpl() {
              return Proxy.sDefaultImpl;
          }
  
          public static boolean setDefaultImpl(INotificationSideChannel impl) {
              if (Proxy.sDefaultImpl != null) {
                  throw new IllegalStateException("setDefaultImpl() called twice");
              } else if (impl == null) {
                  return false;
              } else {
                  Proxy.sDefaultImpl = impl;
                  return true;
              }
          }
  
          public IBinder asBinder() {
              return this;
          }
  
          public boolean onTransact(int code, Parcel data, Parcel reply, int flags) throws RemoteException {
              switch (code) {
                  case 1:
                      data.enforceInterface(DESCRIPTOR);
                      notify(data.readString(), data.readInt(), data.readString(), data.readInt() != 0 ? (Notification) Notification.CREATOR.createFromParcel(data) : null);
                      return true;
                  case 2:
                      data.enforceInterface(DESCRIPTOR);
                      cancel(data.readString(), data.readInt(), data.readString());
                      return true;
                  case 3:
                      data.enforceInterface(DESCRIPTOR);
                      cancelAll(data.readString());
                      return true;
                  case 1598968902:
                      reply.writeString(DESCRIPTOR);
                      return true;
                  default:
                      return super.onTransact(code, data, reply, flags);
              }
          }
      }
  
      void cancel(String str, int i, String str2) throws RemoteException;
  
      void cancelAll(String str) throws RemoteException;
  
      void notify(String str, int i, String str2, Notification notification) throws RemoteException;
  }
  