[android] Added an usage of the stats Converter

This commit is contained in:
Dmitry Donskoy 2019-08-08 14:22:21 +03:00 committed by Aleksey Belousov
parent 39783e7851
commit 13ae453bc1
3 changed files with 47 additions and 31 deletions

View file

@ -546,7 +546,7 @@ public class SettingsPrefsFragment extends BaseXmlSettingsFragment
{
Config.setUseMobileDataSettings(type);
Statistics.INSTANCE.trackNetworkUsageAlert(Statistics.EventName.SETTINGS_MOBILE_INTERNET_CHANGE,
type.getAnalytics().getName());
type.toStatisticValue());
}
else
{

View file

@ -45,7 +45,7 @@ public class StackedButtonDialogFragment extends DialogFragment
private void onDialogBtnClicked(@NonNull NetworkPolicy.Type type, boolean canUse)
{
Statistics.INSTANCE.trackNetworkUsageAlert(Statistics.EventName.MOBILE_INTERNET_ALERT,
type.getAnalytics().getName());
type.toStatisticValue());
Config.setUseMobileDataSettings(type);
if (mListener != null)
mListener.onResult(NetworkPolicy.newInstance(canUse));

View file

@ -4,19 +4,34 @@ import android.support.annotation.NonNull;
import android.support.v4.app.FragmentManager;
import com.mapswithme.maps.widget.StackedButtonDialogFragment;
import com.mapswithme.util.statistics.Analytics;
import com.mapswithme.util.statistics.StatisticValueConverter;
import com.mapswithme.util.statistics.Statistics;
import java.util.concurrent.TimeUnit;
public final class NetworkPolicy
{
public enum Type
public enum Type implements StatisticValueConverter<String>
{
ASK(new Analytics(Statistics.ParamValue.ASK)),
ALWAYS(new Analytics(Statistics.ParamValue.ALWAYS))
ASK()
{
@NonNull
@Override
public String toStatisticValue()
{
return Statistics.ParamValue.ASK;
}
},
ALWAYS()
{
@NonNull
@Override
public String toStatisticValue()
{
return Statistics.ParamValue.ALWAYS;
}
@Override
public void check(@NonNull FragmentManager fragmentManager,
@NonNull NetworkPolicyListener listener, boolean isDialogAllowed)
@ -31,8 +46,15 @@ public final class NetworkPolicy
}
},
NEVER(new Analytics(Statistics.ParamValue.NEVER))
NEVER()
{
@NonNull
@Override
public String toStatisticValue()
{
return Statistics.ParamValue.NEVER;
}
@Override
public void check(@NonNull FragmentManager fragmentManager,
@NonNull NetworkPolicyListener listener, boolean isDialogAllowed)
@ -45,8 +67,15 @@ public final class NetworkPolicy
},
NOT_TODAY(new Analytics(Statistics.ParamValue.NOT_TODAY))
NOT_TODAY()
{
@NonNull
@Override
public String toStatisticValue()
{
return Statistics.ParamValue.NOT_TODAY;
}
@Override
public void check(@NonNull FragmentManager fragmentManager,
@NonNull NetworkPolicyListener listener, boolean isDialogAllowed)
@ -58,8 +87,15 @@ public final class NetworkPolicy
}
},
TODAY(new Analytics(Statistics.ParamValue.TODAY))
TODAY()
{
@NonNull
@Override
public String toStatisticValue()
{
return Statistics.ParamValue.TODAY;
}
@Override
public void check(@NonNull FragmentManager fragmentManager,
@NonNull NetworkPolicyListener listener, boolean isDialogAllowed)
@ -78,38 +114,18 @@ public final class NetworkPolicy
{
@NonNull
@Override
public Analytics getAnalytics()
public String toStatisticValue()
{
throw new UnsupportedOperationException("Not supported here " + name());
}
};
@NonNull
private final Analytics mAnalytics;
Type(@NonNull Analytics analytics)
{
mAnalytics = analytics;
}
Type()
{
this(new Analytics(""));
}
public void check(@NonNull FragmentManager fragmentManager,
@NonNull final NetworkPolicyListener listener,
boolean isDialogAllowed)
{
showDialog(fragmentManager, listener);
}
@NonNull
public Analytics getAnalytics()
{
return mAnalytics;
}
}