Merge "TIF: Add information of TvInputHardwareManager to dumpsys" into nyc-dev

am: a856a70eaa

* commit 'a856a70eaa3bc7524109011a8f340413b561165b':
  TIF: Add information of TvInputHardwareManager to dumpsys
This commit is contained in:
Yang Ren
2016-02-23 00:42:10 +00:00
committed by android-build-merger
2 changed files with 82 additions and 0 deletions

View File

@@ -24,6 +24,7 @@ import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.pm.PackageManager;
import android.hardware.hdmi.HdmiControlManager;
import android.hardware.hdmi.HdmiDeviceInfo;
import android.hardware.hdmi.HdmiHotplugEvent;
@@ -45,6 +46,7 @@ import android.media.tv.ITvInputHardwareCallback;
import android.media.tv.TvInputHardwareInfo;
import android.media.tv.TvInputInfo;
import android.media.tv.TvStreamConfig;
import android.os.Binder;
import android.os.Handler;
import android.os.IBinder;
import android.os.Message;
@@ -57,9 +59,13 @@ import android.util.SparseBooleanArray;
import android.view.KeyEvent;
import android.view.Surface;
import com.android.internal.util.IndentingPrintWriter;
import com.android.server.SystemService;
import java.io.FileDescriptor;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Iterator;
import java.util.LinkedList;
@@ -549,6 +555,70 @@ class TvInputHardwareManager implements TvInputHal.Callback {
return (float) mCurrentIndex / (float) mCurrentMaxIndex;
}
public void dump(FileDescriptor fd, final PrintWriter writer, String[] args) {
final IndentingPrintWriter pw = new IndentingPrintWriter(writer, " ");
if (mContext.checkCallingOrSelfPermission(android.Manifest.permission.DUMP)
!= PackageManager.PERMISSION_GRANTED) {
pw.println("Permission Denial: can't dump TvInputHardwareManager from pid="
+ Binder.getCallingPid() + ", uid=" + Binder.getCallingUid());
return;
}
synchronized (mLock) {
pw.println("TvInputHardwareManager Info:");
pw.increaseIndent();
pw.println("mConnections: deviceId -> Connection");
pw.increaseIndent();
for (int i = 0; i < mConnections.size(); i++) {
int deviceId = mConnections.keyAt(i);
Connection mConnection = mConnections.valueAt(i);
pw.println(deviceId + ": " + mConnection);
}
pw.decreaseIndent();
pw.println("mHardwareList:");
pw.increaseIndent();
for (TvInputHardwareInfo tvInputHardwareInfo : mHardwareList) {
pw.println(tvInputHardwareInfo);
}
pw.decreaseIndent();
pw.println("mHdmiDeviceList:");
pw.increaseIndent();
for (HdmiDeviceInfo hdmiDeviceInfo : mHdmiDeviceList) {
pw.println(hdmiDeviceInfo);
}
pw.decreaseIndent();
pw.println("mHardwareInputIdMap: deviceId -> inputId");
pw.increaseIndent();
for (int i = 0 ; i < mHardwareInputIdMap.size(); i++) {
int deviceId = mHardwareInputIdMap.keyAt(i);
String inputId = mHardwareInputIdMap.valueAt(i);
pw.println(deviceId + ": " + inputId);
}
pw.decreaseIndent();
pw.println("mHdmiInputIdMap: id -> inputId");
pw.increaseIndent();
for (int i = 0; i < mHdmiInputIdMap.size(); i++) {
int id = mHdmiInputIdMap.keyAt(i);
String inputId = mHdmiInputIdMap.valueAt(i);
pw.println(id + ": " + inputId);
}
pw.decreaseIndent();
pw.println("mInputMap: inputId -> inputInfo");
pw.increaseIndent();
for(Map.Entry<String, TvInputInfo> entry : mInputMap.entrySet()) {
pw.println(entry.getKey() + ": " + entry.getValue());
}
pw.decreaseIndent();
pw.decreaseIndent();
}
}
private class Connection implements IBinder.DeathRecipient {
private final TvInputHardwareInfo mHardwareInfo;
private TvInputInfo mInfo;
@@ -641,6 +711,17 @@ class TvInputHardwareManager implements TvInputHal.Callback {
resetLocked(null, null, null, null, null);
}
}
public String toString() {
return "Connection{"
+ " mHardwareInfo: " + mHardwareInfo
+ ", mInfo: " + mInfo
+ ", mCallback: " + mCallback
+ ", mConfigs: " + Arrays.toString(mConfigs)
+ ", mCallingUid: " + mCallingUid
+ ", mResolvedUserId: " + mResolvedUserId
+ " }";
}
}
private class TvInputHardwareImpl extends ITvInputHardware.Stub {

View File

@@ -1923,6 +1923,7 @@ public final class TvInputManagerService extends SystemService {
pw.decreaseIndent();
}
}
mTvInputHardwareManager.dump(fd, writer, args);
}
}