Merge "Added logging to pinpoint source of bug"

This commit is contained in:
TreeHugger Robot
2016-12-06 01:18:17 +00:00
committed by Android (Google) Code Review
5 changed files with 27 additions and 0 deletions

View File

@@ -25,6 +25,7 @@ import android.support.v7.widget.PopupMenu;
import android.support.v7.widget.RecyclerView; import android.support.v7.widget.RecyclerView;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.ArrayMap; import android.util.ArrayMap;
import android.util.Log;
import android.util.TypedValue; import android.util.TypedValue;
import android.view.ContextThemeWrapper; import android.view.ContextThemeWrapper;
import android.view.LayoutInflater; import android.view.LayoutInflater;
@@ -153,6 +154,7 @@ public class DashboardAdapter extends RecyclerView.Adapter<DashboardAdapter.Dash
public void setConditions(List<Condition> conditions) { public void setConditions(List<Condition> conditions) {
final DashboardData prevData = mDashboardData; final DashboardData prevData = mDashboardData;
Log.d(TAG, "adapter setConditions called");
mDashboardData = new DashboardData.Builder(prevData) mDashboardData = new DashboardData.Builder(prevData)
.setConditions(conditions) .setConditions(conditions)
.build(); .build();

View File

@@ -177,9 +177,12 @@ public class DashboardSummary extends InstrumentedFragment
public void onWindowFocusChanged(boolean hasWindowFocus) { public void onWindowFocusChanged(boolean hasWindowFocus) {
long startTime = System.currentTimeMillis(); long startTime = System.currentTimeMillis();
if (hasWindowFocus) { if (hasWindowFocus) {
Log.d(TAG, "Listening for condition changes");
mConditionManager.addListener(this); mConditionManager.addListener(this);
Log.d(TAG, "conditions refreshed");
mConditionManager.refreshAll(); mConditionManager.refreshAll();
} else { } else {
Log.d(TAG, "Stopped listening for condition changes");
mConditionManager.remListener(this); mConditionManager.remListener(this);
} }
if (DEBUG_TIMING) { if (DEBUG_TIMING) {
@@ -220,6 +223,7 @@ public class DashboardSummary extends InstrumentedFragment
mDashboard.setHasFixedSize(true); mDashboard.setHasFixedSize(true);
mDashboard.addItemDecoration(new DashboardDecorator(getContext())); mDashboard.addItemDecoration(new DashboardDecorator(getContext()));
mDashboard.setListener(this); mDashboard.setListener(this);
Log.d(TAG, "adapter created");
mAdapter = new DashboardAdapter(getContext(), mSuggestionParser, mMetricsFeatureProvider, mAdapter = new DashboardAdapter(getContext(), mSuggestionParser, mMetricsFeatureProvider,
bundle, mConditionManager.getConditions()); bundle, mConditionManager.getConditions());
mDashboard.setAdapter(mAdapter); mDashboard.setAdapter(mAdapter);

View File

@@ -20,12 +20,14 @@ import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.graphics.drawable.Icon; import android.graphics.drawable.Icon;
import android.net.ConnectivityManager; import android.net.ConnectivityManager;
import android.util.Log;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.Settings; import com.android.settings.Settings;
import com.android.settingslib.WirelessUtils; import com.android.settingslib.WirelessUtils;
public class AirplaneModeCondition extends Condition { public class AirplaneModeCondition extends Condition {
public static String TAG = "APM_Condition";
public AirplaneModeCondition(ConditionManager conditionManager) { public AirplaneModeCondition(ConditionManager conditionManager) {
super(conditionManager); super(conditionManager);
@@ -33,6 +35,7 @@ public class AirplaneModeCondition extends Condition {
@Override @Override
public void refreshState() { public void refreshState() {
Log.d(TAG, "APM condition refreshed");
setActive(WirelessUtils.isAirplaneModeOn(mManager.getContext())); setActive(WirelessUtils.isAirplaneModeOn(mManager.getContext()));
} }
@@ -46,6 +49,12 @@ public class AirplaneModeCondition extends Condition {
return Icon.createWithResource(mManager.getContext(), R.drawable.ic_airplane); return Icon.createWithResource(mManager.getContext(), R.drawable.ic_airplane);
} }
@Override
protected void setActive(boolean active) {
super.setActive(active);
Log.d(TAG, "setActive was called with " + active);
}
@Override @Override
public CharSequence getTitle() { public CharSequence getTitle() {
return mManager.getContext().getString(R.string.condition_airplane_title); return mManager.getContext().getString(R.string.condition_airplane_title);

View File

@@ -21,6 +21,7 @@ import android.animation.ObjectAnimator;
import android.content.Context; import android.content.Context;
import android.support.v7.widget.RecyclerView; import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.helper.ItemTouchHelper; import android.support.v7.widget.helper.ItemTouchHelper;
import android.util.Log;
import android.view.View; import android.view.View;
import android.view.View.OnLayoutChangeListener; import android.view.View.OnLayoutChangeListener;
import android.view.ViewGroup.LayoutParams; import android.view.ViewGroup.LayoutParams;
@@ -31,8 +32,10 @@ import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.dashboard.DashboardAdapter; import com.android.settings.dashboard.DashboardAdapter;
import com.android.settings.overlay.FeatureFactory; import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.WirelessUtils;
public class ConditionAdapterUtils { public class ConditionAdapterUtils {
private static final String TAG = "ConditionAdapterUtils";
public static void addDismiss(final RecyclerView recyclerView) { public static void addDismiss(final RecyclerView recyclerView) {
ItemTouchHelper.SimpleCallback callback = new ItemTouchHelper.SimpleCallback(0, ItemTouchHelper.SimpleCallback callback = new ItemTouchHelper.SimpleCallback(0,
@@ -65,6 +68,11 @@ public class ConditionAdapterUtils {
public static void bindViews(final Condition condition, public static void bindViews(final Condition condition,
DashboardAdapter.DashboardItemHolder view, boolean isExpanded, DashboardAdapter.DashboardItemHolder view, boolean isExpanded,
View.OnClickListener onClickListener, View.OnClickListener onExpandListener) { View.OnClickListener onClickListener, View.OnClickListener onExpandListener) {
if (condition instanceof AirplaneModeCondition) {
Log.d(TAG, "Airplane mode condition has been bound with "
+ "isActive=" + condition.isActive() + ". Airplane mode is currently " +
WirelessUtils.isAirplaneModeOn(condition.mManager.getContext()));
}
View card = view.itemView.findViewById(R.id.content); View card = view.itemView.findViewById(R.id.content);
card.setTag(condition); card.setTag(condition);
card.setOnClickListener(onClickListener); card.setOnClickListener(onClickListener);

View File

@@ -59,9 +59,11 @@ public class ConditionManager {
mContext = context; mContext = context;
mConditions = new ArrayList<>(); mConditions = new ArrayList<>();
if (loadConditionsNow) { if (loadConditionsNow) {
Log.d(TAG, "conditions loading synchronously");
ConditionLoader loader = new ConditionLoader(); ConditionLoader loader = new ConditionLoader();
loader.onPostExecute(loader.doInBackground()); loader.onPostExecute(loader.doInBackground());
} else { } else {
Log.d(TAG, "conditions loading asychronously");
new ConditionLoader().execute(); new ConditionLoader().execute();
} }
} }
@@ -229,6 +231,7 @@ public class ConditionManager {
private class ConditionLoader extends AsyncTask<Void, Void, ArrayList<Condition>> { private class ConditionLoader extends AsyncTask<Void, Void, ArrayList<Condition>> {
@Override @Override
protected ArrayList<Condition> doInBackground(Void... params) { protected ArrayList<Condition> doInBackground(Void... params) {
Log.d(TAG, "loading conditions from xml");
ArrayList<Condition> conditions = new ArrayList<>(); ArrayList<Condition> conditions = new ArrayList<>();
mXmlFile = new File(mContext.getFilesDir(), FILE_NAME); mXmlFile = new File(mContext.getFilesDir(), FILE_NAME);
if (mXmlFile.exists()) { if (mXmlFile.exists()) {
@@ -240,6 +243,7 @@ public class ConditionManager {
@Override @Override
protected void onPostExecute(ArrayList<Condition> conditions) { protected void onPostExecute(ArrayList<Condition> conditions) {
Log.d(TAG, "conditions loaded from xml, refreshing conditions");
mConditions.clear(); mConditions.clear();
mConditions.addAll(conditions); mConditions.addAll(conditions);
refreshAll(); refreshAll();