Merge "Fix regression in viewing app info from ChooserActivity targets" into mnc-dev
This commit is contained in:
@@ -50,11 +50,13 @@ import android.util.Slog;
|
|||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.View.OnClickListener;
|
import android.view.View.OnClickListener;
|
||||||
|
import android.view.View.OnLongClickListener;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
import android.widget.AbsListView;
|
import android.widget.AbsListView;
|
||||||
import android.widget.BaseAdapter;
|
import android.widget.BaseAdapter;
|
||||||
import android.widget.ListView;
|
import android.widget.ListView;
|
||||||
import com.android.internal.R;
|
import com.android.internal.R;
|
||||||
|
import com.android.internal.logging.MetricsLogger;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -185,6 +187,8 @@ public class ChooserActivity extends ResolverActivity {
|
|||||||
setSafeForwardingMode(true);
|
setSafeForwardingMode(true);
|
||||||
super.onCreate(savedInstanceState, target, title, defaultTitleRes, initialIntents,
|
super.onCreate(savedInstanceState, target, title, defaultTitleRes, initialIntents,
|
||||||
null, false);
|
null, false);
|
||||||
|
|
||||||
|
MetricsLogger.action(this, MetricsLogger.ACTION_ACTIVITY_CHOOSER_SHOWN);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -291,6 +295,36 @@ public class ChooserActivity extends ResolverActivity {
|
|||||||
return super.onTargetSelected(target, alwaysCheck);
|
return super.onTargetSelected(target, alwaysCheck);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
void startSelected(int which, boolean always, boolean filtered) {
|
||||||
|
super.startSelected(which, always, filtered);
|
||||||
|
|
||||||
|
if (mChooserListAdapter != null) {
|
||||||
|
// Log the index of which type of target the user picked.
|
||||||
|
// Lower values mean the ranking was better.
|
||||||
|
int cat = 0;
|
||||||
|
int value = which;
|
||||||
|
switch (mChooserListAdapter.getPositionTargetType(which)) {
|
||||||
|
case ChooserListAdapter.TARGET_CALLER:
|
||||||
|
cat = MetricsLogger.ACTION_ACTIVITY_CHOOSER_PICKED_APP_TARGET;
|
||||||
|
break;
|
||||||
|
case ChooserListAdapter.TARGET_SERVICE:
|
||||||
|
cat = MetricsLogger.ACTION_ACTIVITY_CHOOSER_PICKED_SERVICE_TARGET;
|
||||||
|
value -= mChooserListAdapter.getCallerTargetCount();
|
||||||
|
break;
|
||||||
|
case ChooserListAdapter.TARGET_STANDARD:
|
||||||
|
cat = MetricsLogger.ACTION_ACTIVITY_CHOOSER_PICKED_STANDARD_TARGET;
|
||||||
|
value -= mChooserListAdapter.getCallerTargetCount()
|
||||||
|
+ mChooserListAdapter.getServiceTargetCount();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (cat != 0) {
|
||||||
|
MetricsLogger.action(this, cat, value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void queryTargetServices(ChooserListAdapter adapter) {
|
void queryTargetServices(ChooserListAdapter adapter) {
|
||||||
final PackageManager pm = getPackageManager();
|
final PackageManager pm = getPackageManager();
|
||||||
int targetsToQuery = 0;
|
int targetsToQuery = 0;
|
||||||
@@ -851,6 +885,14 @@ public class ChooserActivity extends ResolverActivity {
|
|||||||
startSelected(itemIndex, false, true);
|
startSelected(itemIndex, false, true);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
v.setOnLongClickListener(new OnLongClickListener() {
|
||||||
|
@Override
|
||||||
|
public boolean onLongClick(View v) {
|
||||||
|
showAppDetails(
|
||||||
|
mChooserListAdapter.resolveInfoForPosition(itemIndex, true));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
});
|
||||||
} else {
|
} else {
|
||||||
v.setVisibility(View.GONE);
|
v.setVisibility(View.GONE);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,6 +33,10 @@ public class MetricsLogger implements MetricsConstants {
|
|||||||
public static final int ACTION_VOLUME_KEY = 211;
|
public static final int ACTION_VOLUME_KEY = 211;
|
||||||
public static final int ACTION_VOLUME_ICON = 212;
|
public static final int ACTION_VOLUME_ICON = 212;
|
||||||
public static final int ACTION_RINGER_MODE = 213;
|
public static final int ACTION_RINGER_MODE = 213;
|
||||||
|
public static final int ACTION_ACTIVITY_CHOOSER_SHOWN = 214;
|
||||||
|
public static final int ACTION_ACTIVITY_CHOOSER_PICKED_APP_TARGET = 215;
|
||||||
|
public static final int ACTION_ACTIVITY_CHOOSER_PICKED_SERVICE_TARGET = 216;
|
||||||
|
public static final int ACTION_ACTIVITY_CHOOSER_PICKED_STANDARD_TARGET = 217;
|
||||||
// Temporary constants go here, to await migration to MetricsConstants.
|
// Temporary constants go here, to await migration to MetricsConstants.
|
||||||
|
|
||||||
public static void visible(Context context, int category) throws IllegalArgumentException {
|
public static void visible(Context context, int category) throws IllegalArgumentException {
|
||||||
|
|||||||
Reference in New Issue
Block a user