package net.osmand.plus.development;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.LinearLayout;
import android.widget.TextView;
import net.osmand.plus.OsmAndLocationProvider;
import net.osmand.plus.R;
import net.osmand.plus.dashboard.DashBaseFragment;
import net.osmand.plus.dashboard.DashboardOnMap;
import net.osmand.plus.dashboard.tools.DashFragmentData;
public class DashSimulateFragment extends DashBaseFragment {
private static final String TAG = "DASH_SIMULATE_FRAGMENT";
private static final int TITLE_ID = R.string.simulate_your_location;
private static final DashFragmentData.ShouldShowFunction SHOULD_SHOW_FUNCTION =
new DashboardOnMap.DefaultShouldShow() {
@Override
public int getTitleId() {
return TITLE_ID;
}
};
static final DashFragmentData FRAGMENT_DATA = new DashFragmentData(DashSimulateFragment.TAG,
DashSimulateFragment.class,
SHOULD_SHOW_FUNCTION, 150, null);
@Override
public void onOpenDash() {
OsmAndLocationProvider loc = getMyApplication().getLocationProvider();
boolean routeAnimating = loc.getLocationSimulation().isRouteAnimating();
((TextView) getView().findViewById(R.id.name)).setText(routeAnimating ? R.string.animate_route_off
: R.string.animate_route);
ImageButton actionButton = (ImageButton) getView().findViewById(R.id.stop);
actionButton.setImageDrawable(
!routeAnimating ? getMyApplication().getIconsCache().getThemedIcon(R.drawable.ic_action_play_dark)
: getMyApplication().getIconsCache().getThemedIcon(R.drawable.ic_action_rec_stop));
actionButton.setContentDescription(getString(routeAnimating ? R.string.animate_route_off : R.string.animate_route));
}
@Override
public View initView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = getActivity().getLayoutInflater().inflate(R.layout.dash_common_fragment, container, false);
TextView header = (TextView) view.findViewById(R.id.fav_text);
header.setText(TITLE_ID);
((Button) view.findViewById(R.id.show_all)).setVisibility(View.GONE);
LinearLayout tracks = (LinearLayout) view.findViewById(R.id.items);
View item = inflater.inflate(R.layout.dash_simulate_item, null, false);
tracks.addView(item);
final OsmAndLocationProvider loc = getMyApplication().getLocationProvider();
OnClickListener listener = new View.OnClickListener() {
@Override
public void onClick(View v) {
loc.getLocationSimulation().startStopRouteAnimation(getActivity());
dashboard.hideDashboard();
}
};
item.setOnClickListener(listener);
ImageButton actionButton = (ImageButton) item.findViewById(R.id.stop);
actionButton.setOnClickListener(listener);
actionButton.setContentDescription(getString(R.string.animate_route));
((TextView) item.findViewById(R.id.name)).setText(R.string.animate_route);
item.findViewById(R.id.divider).setVisibility(View.VISIBLE);
return view;
}
}