package com.ss.android.socialbase.downloader.impls; import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.ServiceConnection; import android.os.IBinder; import android.os.RemoteException; import android.util.Log; import android.util.SparseArray; import com.ss.android.socialbase.downloader.downloader.IndependentProcessDownloadService; import com.ss.android.socialbase.downloader.downloader.a; import com.ss.android.socialbase.downloader.downloader.c; import com.ss.android.socialbase.downloader.downloader.d; import com.ss.android.socialbase.downloader.downloader.i; import com.ss.android.socialbase.downloader.i.f; import com.ss.android.socialbase.downloader.i.g; import com.ss.android.socialbase.downloader.model.DownloadTask; import java.util.List; /* compiled from: IndependentDownloadServiceHandler */ public class n extends a implements ServiceConnection { private static final String e = "n"; private i f; private com.ss.android.socialbase.downloader.downloader.n g; private int h = -1; @Override // com.ss.android.socialbase.downloader.downloader.a public void startService(Context context, ServiceConnection serviceConnection) { try { com.ss.android.socialbase.downloader.c.a.b(e, "bindService"); Intent intent = new Intent(context, IndependentProcessDownloadService.class); if (f.a()) { intent.putExtra("fix_downloader_db_sigbus", com.ss.android.socialbase.downloader.g.a.c().a("fix_sigbus_downloader_db")); } if (serviceConnection != null) { context.bindService(intent, serviceConnection, 1); } context.startService(intent); } catch (Throwable th) { th.printStackTrace(); } } @Override // com.ss.android.socialbase.downloader.downloader.a public void stopService(Context context, ServiceConnection serviceConnection) { com.ss.android.socialbase.downloader.c.a.b(e, "stopService"); this.b = false; Intent intent = new Intent(context, IndependentProcessDownloadService.class); if (serviceConnection != null) { context.unbindService(serviceConnection); } context.stopService(intent); } @Override // com.ss.android.socialbase.downloader.downloader.o, com.ss.android.socialbase.downloader.downloader.a public IBinder a(Intent intent) { if (intent != null && intent.getBooleanExtra("fix_downloader_db_sigbus", false)) { Log.w(e, "downloader process sync database on main process!"); com.ss.android.socialbase.downloader.g.a.a("fix_sigbus_downloader_db", true); } com.ss.android.socialbase.downloader.c.a.b(e, "onBind IndependentDownloadBinder"); return new m(); } @Override // com.ss.android.socialbase.downloader.downloader.o, com.ss.android.socialbase.downloader.downloader.a public void b(DownloadTask downloadTask) { if (downloadTask != null) { String str = e; StringBuilder sb = new StringBuilder(); sb.append("tryDownload aidlService == null:"); sb.append(this.f == null); com.ss.android.socialbase.downloader.c.a.b(str, sb.toString()); if (this.f == null) { a(downloadTask); startService(c.N(), this); return; } g(); try { this.f.a(g.a(downloadTask)); } catch (RemoteException e2) { e2.printStackTrace(); } } } private void g() { SparseArray clone; try { synchronized (this.a) { clone = this.a.clone(); this.a.clear(); } if (!(clone == null || clone.size() <= 0 || c.C() == null)) { for (int i = 0; i < clone.size(); i++) { List<DownloadTask> list = (List) clone.get(clone.keyAt(i)); if (list != null) { for (DownloadTask downloadTask : list) { try { this.f.a(g.a(downloadTask)); } catch (RemoteException e2) { e2.printStackTrace(); } } } } } } catch (Throwable th) { com.ss.android.socialbase.downloader.c.a.a(e, "resumePendingTaskForIndependent failed", th); } } @Override // com.ss.android.socialbase.downloader.downloader.o, com.ss.android.socialbase.downloader.downloader.a public void c(DownloadTask downloadTask) { if (downloadTask != null) { d.a().a(downloadTask.getDownloadId(), true); a C = c.C(); if (C != null) { C.a(downloadTask); } } } public void onServiceConnected(ComponentName componentName, IBinder iBinder) { String str = e; com.ss.android.socialbase.downloader.c.a.b(str, "onServiceConnected "); this.f = i.a.a(iBinder); com.ss.android.socialbase.downloader.downloader.n nVar = this.g; if (nVar != null) { nVar.a(iBinder); } StringBuilder sb = new StringBuilder(); sb.append("onServiceConnected aidlService!=null"); sb.append(this.f != null); sb.append(" pendingTasks.size:"); sb.append(this.a.size()); com.ss.android.socialbase.downloader.c.a.b(str, sb.toString()); if (this.f != null) { d.a().b(); this.b = true; this.d = false; int i = this.h; if (i != -1) { try { this.f.l(i); } catch (RemoteException e2) { e2.printStackTrace(); } } if (this.f != null) { g(); } } } public void onServiceDisconnected(ComponentName componentName) { com.ss.android.socialbase.downloader.c.a.b(e, "onServiceDisconnected "); this.f = null; this.b = false; com.ss.android.socialbase.downloader.downloader.n nVar = this.g; if (nVar != null) { nVar.h(); } } public void onBindingDied(ComponentName componentName) { this.f = null; com.ss.android.socialbase.downloader.downloader.n nVar = this.g; if (nVar != null) { nVar.h(); } } @Override // com.ss.android.socialbase.downloader.downloader.o, com.ss.android.socialbase.downloader.downloader.a public void a(com.ss.android.socialbase.downloader.downloader.n nVar) { this.g = nVar; } @Override // com.ss.android.socialbase.downloader.downloader.o, com.ss.android.socialbase.downloader.downloader.a public void a(int i) { i iVar = this.f; if (iVar == null) { this.h = i; return; } try { iVar.l(i); } catch (RemoteException e2) { e2.printStackTrace(); } } @Override // com.ss.android.socialbase.downloader.downloader.o, com.ss.android.socialbase.downloader.downloader.a public void startService() { if (this.f == null) { startService(c.N(), this); } } }