blob: 3a08243907d0c29d337bd646ed0ceb08cff2c7fd [file] [log] [blame]
/*
* Copyright (C) 2012 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.internal.telephony;
import android.text.TextUtils;
import com.android.internal.telephony.metrics.TelephonyMetrics;
import com.android.telephony.Rlog;
import java.io.FileDescriptor;
import java.io.PrintWriter;
/**
* A debug service that will dump telephony's state
*
* Currently this "Service" has a proxy in the phone app
* com.android.phone.TelephonyDebugService which actually
* invokes the dump method.
*/
public class DebugService {
private static String TAG = "DebugService";
/** Constructor */
public DebugService() {
log("DebugService:");
}
/**
* Dump the state of various objects, add calls to other objects as desired.
*/
public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
if (args != null && args.length > 0) {
if (TextUtils.equals(args[0], "--metrics")
|| TextUtils.equals(args[0], "--metricsproto")
|| TextUtils.equals(args[0], "--metricsprototext"))
{
log("Collecting telephony metrics..");
TelephonyMetrics.getInstance().dump(fd, pw, args);
return;
}
}
log("Dump telephony.");
PhoneFactory.dump(fd, pw, args);
}
private static void log(String s) {
Rlog.d(TAG, "DebugService " + s);
}
}