package org.awesomeapp.messenger.ui;
import android.app.Activity;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.graphics.Color;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.support.annotation.ColorInt;
import android.support.v4.app.Fragment;
import android.support.v7.app.AppCompatActivity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.Toast;
import com.flask.colorpicker.ColorPickerView;
import com.flask.colorpicker.OnColorSelectedListener;
import com.flask.colorpicker.builder.ColorPickerClickListener;
import com.flask.colorpicker.builder.ColorPickerDialogBuilder;
import org.awesomeapp.messenger.ImApp;
import org.awesomeapp.messenger.MainActivity;
import org.awesomeapp.messenger.tasks.AddContactAsyncTask;
import im.zom.messenger.R;
public class MoreFragment extends Fragment {
/**
* Use this factory method to create a new instance of
* this fragment using the provided parameters.
*
* @param param1 Parameter 1.
* @param param2 Parameter 2.
* @return A new instance of fragment GalleryFragment.
*/
// TODO: Rename and change types and number of parameters
public static MoreFragment newInstance(String param1, String param2) {
MoreFragment fragment = new MoreFragment();
Bundle args = new Bundle();
fragment.setArguments(args);
return fragment;
}
public MoreFragment() {
// Required empty public constructor
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.fragment_more, container, false);
View btn = view.findViewById(R.id.btnOpenGalllery);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(getActivity(),GalleryActivity.class);
getActivity().startActivity(intent);
}
});
btn = view.findViewById(R.id.btnOpenServices);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
openZomServices ();
}
});
btn = view.findViewById(R.id.btnOpenGroups);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
((MainActivity)getActivity()).showGroupChatDialog();
}
});
btn = view.findViewById(R.id.btnOpenStickers);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(getActivity(),StickerActivity.class);
getActivity().startActivity(intent);
}
});
btn = view.findViewById(R.id.btnOpenThemes);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showColors();
}
});
return view;
}
private void showColors ()
{
final SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(getActivity());
int selColor = settings.getInt("themeColor",-1);
ColorPickerDialogBuilder
.with(getContext())
.setTitle("Choose color")
.initialColor(selColor)
.wheelType(ColorPickerView.WHEEL_TYPE.FLOWER)
.density(12)
.lightnessSliderOnly()
.setOnColorSelectedListener(new OnColorSelectedListener() {
@Override
public void onColorSelected(int selectedColor) {
}
})
.setPositiveButton(getString(R.string.ok), new ColorPickerClickListener() {
@Override
public void onClick(DialogInterface dialog, int selectedColor, Integer[] allColors) {
settings.edit().putInt("themeColor",selectedColor).commit();
/**
int textColor = getContrastColor(selectedColor);
int bgColor = getContrastColor(textColor);
settings.edit().putInt("themeColorBg",bgColor).commit();
settings.edit().putInt("themeColorText",textColor).commit();
*/
MainActivity activity = (MainActivity)getActivity();
activity.applyStyle();
}
})
.setNegativeButton(getString(R.string.cancel), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
})
.build()
.show();
}
@Override
public void onResume() {
super.onResume();
}
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
}
@Override
public void onDetach() {
super.onDetach();
}
private void openZomServices ()
{
ImApp app = (ImApp)getActivity().getApplication();
new AddContactAsyncTask(app.getDefaultProviderId(), app.getDefaultAccountId(), app).execute(ImApp.ZOM_SERVICES_ADDRESS, null, getString(R.string.action_services));
((MainActivity)getActivity()).startChat(app.getDefaultProviderId(),app.getDefaultAccountId(),ImApp.ZOM_SERVICES_ADDRESS, true, true);
}
}