package com.seuic.uhfdemo;
import android.Manifest;
import android.app.Activity;
import android.app.ActivityManager;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.os.Build;
import android.os.Bundle;
import android.provider.Settings;
import android.text.TextUtils;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.RadioButton;
import java.lang.reflect.Method;
import java.util.List;

import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;

public class MainActivity extends Activity implements OnClickListener {
	private RadioButton rb_inventory;
	private FragmentManager fm;
	private FragmentTransaction ft;

	private InventoryFragement m_inventory;
	private InventoryUm3 m_inventoryUm3;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		//stopApps(MainActivity.this,"com.seuic.uhftool");
		rb_inventory = (RadioButton) findViewById(R.id.rb_inventory);
		rb_inventory.setOnClickListener(this);
		fm = getFragmentManager();
		ft = fm.beginTransaction();
		if(Build.MODEL.contains("UTouch")|| Build.MODEL.contains("AUTOID9N")|| Build.MODEL.contains("PDT-90")) {
			m_inventory = InventoryFragement.getInstance();
			ft.replace(R.id.frl_content, m_inventory);
		}
		else{
			m_inventoryUm3=InventoryUm3.getInstance();
			ft.replace(R.id.frl_content, m_inventoryUm3);
		}
		rb_inventory.setEnabled(false);
		ft.commit();
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}


	public static void stopApps(Context context,String packageName) {
		try {
			ActivityManager am = (ActivityManager)context.getSystemService(Context.ACTIVITY_SERVICE);
			Method forceStopPackage = am.getClass().getDeclaredMethod("forceStopPackage", String.class);
			forceStopPackage.setAccessible(true);
			forceStopPackage.invoke(am, packageName);
			Log.i("zy","TimerV force stop package "+packageName+" successful");
		}catch(Exception ex) {
			ex.printStackTrace();
			Log.i("zy","TimerV force stop package "+packageName+" error!");
		}
	}


	@Override
	protected void onResume() {
		super.onResume();
	}

	@Override
	public boolean onOptionsItemSelected(MenuItem item) {
		int id = item.getItemId();
		if (id == R.id.action_exit) {
			if (Build.MODEL.contains("AUTOID") || Build.MODEL.contains("AUTOID9N") || Build.MODEL.contains("PDT-90")) {
				InventoryFragement.getInstance().closeAPP();
			} else {
				InventoryUm3.getInstance().close();
			}
			System.exit(0);
			return true;
		}
		if (id == R.id.action_hide) {
			this.finish();
			return true;
		}
		return super.onOptionsItemSelected(item);
	}

	@Override
	public void onClick(View v) {
		ft = fm.beginTransaction();
		switch (v.getId()) {
		case R.id.rb_inventory:
			ft.replace(R.id.frl_content, InventoryFragement.getInstance());
			rb_inventory.setEnabled(false);
			break;
		default:
			break;
		}
		ft.commit();
	}

}
