1d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian/*
2d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian * Copyright (C) 2016 The Android Open Source Project
3d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian *
4d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian * Licensed under the Apache License, Version 2.0 (the "License");
5d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian * you may not use this file except in compliance with the License.
6d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian * You may obtain a copy of the License at
7d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian *
8d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian *      http://www.apache.org/licenses/LICENSE-2.0
9d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian *
10d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian * Unless required by applicable law or agreed to in writing, software
11d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian * distributed under the License is distributed on an "AS IS" BASIS,
12d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian * See the License for the specific language governing permissions and
14d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian * limitations under the License
15d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian */
16d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian
17d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanianpackage com.android.voicemail.impl.utils;
18d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian
19d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanianimport android.content.Context;
20d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanianimport android.telecom.PhoneAccountHandle;
21d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanianimport android.telecom.TelecomManager;
22d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanianimport com.android.voicemail.impl.OmtpVvmCarrierConfigHelper;
23d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanianimport com.android.voicemail.impl.VvmLog;
24d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanianimport java.io.FileDescriptor;
25d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanianimport java.io.PrintWriter;
26d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian
27d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanianpublic class VvmDumpHandler {
28d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian
29d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian  public static void dump(Context context, FileDescriptor fd, PrintWriter writer, String[] args) {
30d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian    IndentingPrintWriter indentedWriter = new IndentingPrintWriter(writer, "  ");
31d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian    indentedWriter.println("******* OmtpVvm *******");
32d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian    indentedWriter.println("======= Configs =======");
33d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian    indentedWriter.increaseIndent();
34d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian    for (PhoneAccountHandle handle :
35d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian        context.getSystemService(TelecomManager.class).getCallCapablePhoneAccounts()) {
36d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian      OmtpVvmCarrierConfigHelper config = new OmtpVvmCarrierConfigHelper(context, handle);
37d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian      indentedWriter.println(config.toString());
38d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian    }
39d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian    indentedWriter.decreaseIndent();
40d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian    indentedWriter.println("======== Logs =========");
41d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian    VvmLog.dump(fd, indentedWriter, args);
42d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian  }
43d5e47f6da5b08b13ecdfa7f1edc7e12aeb83fab9Eric Erfanian}
44