package com.felkertech.cumulustv.tv.activities;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.annotation.VisibleForTesting;
import android.util.Log;
import com.crashlytics.android.Crashlytics;
import com.felkertech.cumulustv.fileio.CloudStorageProvider;
import com.felkertech.cumulustv.utils.ActivityUtils;
import com.felkertech.n.cumulustv.R;
import com.felkertech.cumulustv.tv.fragments.LeanbackFragment;
import com.google.android.gms.common.ConnectionResult;
import com.google.android.gms.common.api.GoogleApiClient;
import io.fabric.sdk.android.Fabric;
/*
* MainActivity class that loads MainFragment
*/
public class LeanbackActivity extends Activity implements
GoogleApiClient.ConnectionCallbacks, GoogleApiClient.OnConnectionFailedListener {
private static final String TAG = LeanbackActivity.class.getSimpleName();
public static final int RESULT_CODE_REFRESH_UI = 10;
@VisibleForTesting
public static LeanbackFragment lbf;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_leanback);
lbf = (LeanbackFragment) getFragmentManager().findFragmentById(R.id.main_browse_fragment);
lbf.mActivity = LeanbackActivity.this;
ActivityUtils.openIntroIfNeeded(this);
Fabric.with(this, new Crashlytics());
}
@Override
public void onActivityResult(final int requestCode, final int resultCode, final Intent data) {
Log.d(TAG, "Got " + requestCode + " " + resultCode + " from activity");
ActivityUtils.onActivityResult(this, CloudStorageProvider.getInstance().getClient(),
requestCode, resultCode, data);
if (requestCode == RESULT_CODE_REFRESH_UI) {
lbf.refreshUI();
}
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions,
@NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
lbf.refreshUI();
}
@Override
public void onConnected(@Nullable Bundle bundle) {
lbf.onConnected(bundle);
}
@Override
public void onConnectionSuspended(int i) {
lbf.onConnectionSuspended(i);
}
@Override
public void onConnectionFailed(@NonNull ConnectionResult connectionResult) {
lbf.onConnectionFailed(connectionResult);
}
@Override
protected void onDestroy() {
super.onDestroy();
lbf = null;
}
}