dj.java 4.73 KB
import android.annotation.TargetApi;
import android.app.PendingIntent;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.media.AudioManager;
import android.media.AudioManager.OnAudioFocusChangeListener;
import android.media.RemoteControlClient;
import android.media.RemoteControlClient.OnGetPlaybackPositionListener;
import android.media.RemoteControlClient.OnPlaybackPositionUpdateListener;
import android.support.annotation.RequiresApi;
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
import android.view.ViewTreeObserver;
import android.view.ViewTreeObserver.OnWindowAttachListener;
import android.view.ViewTreeObserver.OnWindowFocusChangeListener;

@TargetApi(18)
@RequiresApi(18)
public final class dj
{
  final Context a;
  final AudioManager b;
  public final View c;
  final di d;
  final String e;
  final IntentFilter f;
  final Intent g;
  public final ViewTreeObserver.OnWindowAttachListener h = new ViewTreeObserver.OnWindowAttachListener()
  {
    public final void onWindowAttached()
    {
      dj localdj = dj.this;
      localdj.a.registerReceiver(localdj.j, localdj.f);
      localdj.n = PendingIntent.getBroadcast(localdj.a, 0, localdj.g, 268435456);
      localdj.o = new RemoteControlClient(localdj.n);
      localdj.o.setOnGetPlaybackPositionListener(localdj.l);
      localdj.o.setPlaybackPositionUpdateListener(localdj.m);
    }
    
    public final void onWindowDetached()
    {
      dj.this.d();
    }
  };
  public final ViewTreeObserver.OnWindowFocusChangeListener i = new ViewTreeObserver.OnWindowFocusChangeListener()
  {
    public final void onWindowFocusChanged(boolean paramAnonymousBoolean)
    {
      if (paramAnonymousBoolean)
      {
        dj localdj = dj.this;
        if (!localdj.p)
        {
          localdj.p = true;
          localdj.b.registerMediaButtonEventReceiver(localdj.n);
          localdj.b.registerRemoteControlClient(localdj.o);
          if (localdj.q == 3) {
            localdj.a();
          }
        }
        return;
      }
      dj.this.c();
    }
  };
  final BroadcastReceiver j = new BroadcastReceiver()
  {
    public final void onReceive(Context paramAnonymousContext, Intent paramAnonymousIntent)
    {
      try
      {
        paramAnonymousContext = (KeyEvent)paramAnonymousIntent.getParcelableExtra("android.intent.extra.KEY_EVENT");
        dj.this.d.a(paramAnonymousContext);
        return;
      }
      catch (ClassCastException paramAnonymousContext)
      {
        Log.w("TransportController", paramAnonymousContext);
      }
    }
  };
  AudioManager.OnAudioFocusChangeListener k = new AudioManager.OnAudioFocusChangeListener()
  {
    public final void onAudioFocusChange(int paramAnonymousInt)
    {
      dj.this.d.a(paramAnonymousInt);
    }
  };
  final RemoteControlClient.OnGetPlaybackPositionListener l = new RemoteControlClient.OnGetPlaybackPositionListener()
  {
    public final long onGetPlaybackPosition()
    {
      return dj.this.d.a();
    }
  };
  final RemoteControlClient.OnPlaybackPositionUpdateListener m = new RemoteControlClient.OnPlaybackPositionUpdateListener()
  {
    public final void onPlaybackPositionUpdate(long paramAnonymousLong)
    {
      dj.this.d.a(paramAnonymousLong);
    }
  };
  PendingIntent n;
  public RemoteControlClient o;
  public boolean p;
  public int q = 0;
  boolean r;
  
  public dj(Context paramContext, AudioManager paramAudioManager, View paramView, di paramdi)
  {
    this.a = paramContext;
    this.b = paramAudioManager;
    this.c = paramView;
    this.d = paramdi;
    this.e = (paramContext.getPackageName() + ":transport:" + System.identityHashCode(this));
    this.g = new Intent(this.e);
    this.g.setPackage(paramContext.getPackageName());
    this.f = new IntentFilter();
    this.f.addAction(this.e);
    this.c.getViewTreeObserver().addOnWindowAttachListener(this.h);
    this.c.getViewTreeObserver().addOnWindowFocusChangeListener(this.i);
  }
  
  public final void a()
  {
    if (!this.r)
    {
      this.r = true;
      this.b.requestAudioFocus(this.k, 3, 1);
    }
  }
  
  public final void b()
  {
    if (this.r)
    {
      this.r = false;
      this.b.abandonAudioFocus(this.k);
    }
  }
  
  final void c()
  {
    b();
    if (this.p)
    {
      this.p = false;
      this.b.unregisterRemoteControlClient(this.o);
      this.b.unregisterMediaButtonEventReceiver(this.n);
    }
  }
  
  public final void d()
  {
    c();
    if (this.n != null)
    {
      this.a.unregisterReceiver(this.j);
      this.n.cancel();
      this.n = null;
      this.o = null;
    }
  }
}


/* Location:              /home/merong/decompile/hackery-dex2jar.jar!/dj.class
 * Java compiler version: 6 (50.0)
 * JD-Core Version:       0.7.1
 */