/* (C) 2012 Pragmatic Software
This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this
file, You can obtain one at http://mozilla.org/MPL/2.0/
*/
package com.googlecode.networklog;
import android.util.Log;
import java.io.File;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
public class RetainInstanceData {
/* ApplicationsTracker */
ArrayList<ApplicationsTracker.AppEntry> applicationsTrackerInstalledApps;
HashMap<String, ApplicationsTracker.AppEntry> applicationsTrackerUidMap;
HashMap<String, ApplicationsTracker.AppEntry> applicationsTrackerPackageMap;
int applicationsTrackerAppCount;
public void retainApplicationsTrackerData() {
applicationsTrackerInstalledApps = ApplicationsTracker.installedApps;
applicationsTrackerUidMap = ApplicationsTracker.uidMap;
applicationsTrackerPackageMap = ApplicationsTracker.packageMap;
applicationsTrackerAppCount = ApplicationsTracker.appCount;
}
/* HistoryLoader */
boolean historyDialogShowing;
int historyDialogMax;
int historyDialogProgress;
public void retainHistoryLoaderData() {
historyDialogShowing = NetworkLog.history.dialog_showing;
historyDialogMax = NetworkLog.history.dialog_max;
historyDialogProgress = NetworkLog.history.dialog_progress;
}
/* FeedbackDialog */
String feedbackDialogMessage;
boolean feedbackDialogAttachLogcat;
int feedbackDialogCursorPosition;
public void retainFeedbackDialogData() {
if(NetworkLog.feedbackDialog != null && NetworkLog.feedbackDialog.dialog != null) {
feedbackDialogMessage = NetworkLog.feedbackDialog.message.getText().toString();
feedbackDialogAttachLogcat = NetworkLog.feedbackDialog.attachLogcat.isChecked();
feedbackDialogCursorPosition = NetworkLog.feedbackDialog.message.getSelectionStart();
}
}
/* ClearLog */
boolean clearLogDialogShowing;
boolean clearLogProgressDialogShowing;
int clearLogProgress;
int clearLogProgressMax;
public void retainClearLogData() {
clearLogDialogShowing = NetworkLog.clearLog.dialog != null && NetworkLog.clearLog.dialog.isShowing();
clearLogProgressDialogShowing = NetworkLog.clearLog.progressDialog != null && NetworkLog.clearLog.progressDialog.isShowing();
clearLogProgress = NetworkLog.clearLog.progress;
clearLogProgressMax = NetworkLog.clearLog.progress_max;
}
/* ExportDialog */
boolean exportDialogShowing;
boolean exportDialogProgressDialogShowing;
Date exportDialogStartDate;
Date exportDialogEndDate;
File exportDialogFile;
int exportDialogProgress;
int exportDialogProgressMax;
ExportDialog.DatePickerMode exportDialogDatePickerMode;
public void retainExportDialogData() {
if(NetworkLog.exportDialog != null) {
if(NetworkLog.exportDialog.dialog != null) {
exportDialogShowing = true;
exportDialogStartDate = NetworkLog.exportDialog.startDate;
exportDialogEndDate = NetworkLog.exportDialog.endDate;
exportDialogFile = NetworkLog.exportDialog.file;
exportDialogDatePickerMode = NetworkLog.exportDialog.datePickerMode;
}
if(NetworkLog.exportDialog.progressDialog != null && NetworkLog.exportDialog.progressDialog != null) {
exportDialogProgressDialogShowing = true;
exportDialogProgress = NetworkLog.exportDialog.progress;
exportDialogProgressMax = NetworkLog.exportDialog.progress_max;
}
}
}
/* NetworkLog */
NetworkLog.State networkLogState;
NetworkResolver networkLogResolver;
InteractiveShell networkLogShell;
public void retainRetainInstanceData() {
networkLogState = NetworkLog.state;
networkLogResolver = NetworkLog.resolver;
networkLogShell = NetworkLog.shell;
}
/* retain data */
public RetainInstanceData() {
retainApplicationsTrackerData();
retainRetainInstanceData();
retainHistoryLoaderData();
retainFeedbackDialogData();
retainClearLogData();
retainExportDialogData();
}
}