Java code:
Fitness.getHistoryClient(this, GoogleSignIn.getLastSignedInAccount(this)) .readData(readRequest) .addOnSuccessListener(new OnSuccessListener() { @Override public void onSuccess(DataReadResponse dataReadResponse) { Log.d(LOG_TAG, "onSuccess()"); } }) .addOnFailureListener(new OnFailureListener() { @Override public void onFailure(@NonNull Exception e) { Log.e(LOG_TAG, "onFailure()", e); } }) .addOnCompleteListener(new OnCompleteListener() { @Override public void onComplete(@NonNull Task task) { Log.d(LOG_TAG, "onComplete()"); } });
Android studio 3.0.1 convert to kotlin:
Fitness.getHistoryClient(this, GoogleSignIn.getLastSignedInAccount(this)) .readData(readRequest) .addOnSuccessListener(object : OnSuccessListener { fun onSuccess(dataReadResponse: DataReadResponse) { Log.d(LOG_TAG, "onSuccess()") } }) .addOnFailureListener { e -> Log.e(LOG_TAG, "onFailure()", e) } .addOnCompleteListener(object : OnCompleteListener { override fun onComplete(task: Task<*>) { Log.d(LOG_TAG, "onComplete()") } })
But it show error type mismatch at 2 rows: object : OnCompleteListener vs object : OnSuccessListener
“onComplete” override nothing.
How fix this errors?