Newer
Older
GasOperationApp / app / src / main / java / com / casic / gasoperation / utils / ApplicationMain.java
[wangxitong] on 24 May 2021 2 KB first commit
package com.casic.gasoperation.utils;

import android.app.Activity;
import android.app.Application;
import android.content.Context;
import android.os.IBinder;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.inputmethod.InputMethodManager;
import android.widget.Toast;

import com.casic.gasoperation.BuildConfig;

import org.apache.http.util.EncodingUtils;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.lang.Thread.UncaughtExceptionHandler;
import java.text.DecimalFormat;
import java.text.MessageFormat;
import java.text.NumberFormat;
import java.util.Date;
import java.util.Set;

public class ApplicationMain extends Application implements
        UncaughtExceptionHandler
{
	private static ApplicationMain instance;


	// TODO 地图相关
	public boolean m_bKeyRight = true;

	public static ApplicationMain getInstance()
	{
		return instance;
	}

	@Override
	public void onCreate()
	{
		super.onCreate();
		//initEngineManager(this);
		instance = this;

		Thread.setDefaultUncaughtExceptionHandler(this);
	}

	@Override
	public void uncaughtException(Thread thread, Throwable ex)
	{
		Msg.showInfo(this, "程序意外终止退出");
		Log.e("CgtApplicationExit", "程序意外终止退出", ex);
		StringBuffer buffer = new StringBuffer();
		buffer.append("\r\n\r\n");
		buffer.append(new Date().toString());
		buffer.append("\r\n");
		buffer.append(ex.toString());
		buffer.append("\r\n");
		for (StackTraceElement traceElement : ex.getStackTrace())
		{
			buffer.append(traceElement.toString());
			buffer.append("\r\n");
		}

		// 结束进程
		android.os.Process.killProcess(android.os.Process.myPid());
	}



	/**
	 * 获取指定资源ID的VIEW
	 * 
	 * @param resource
	 * @return
	 */
	public View inflateView(int resource)
	{
		return inflateView(resource, null);
	}

	public View inflateView(int resource, ViewGroup root)
	{
		LayoutInflater vi = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
		return vi.inflate(resource, root);
	}

	public String setDotPosition(double from, int position)
	{
		DecimalFormat format = (DecimalFormat) NumberFormat.getInstance();
		StringBuilder sb = new StringBuilder("0.");
		while (position > 0)
		{
			sb.append("0");
			position--;
		}
		format.applyPattern(sb.toString());
		return format.format(from);
	}

	public String getTwoNumber(int from)
	{
		DecimalFormat format = (DecimalFormat) NumberFormat.getInstance();
		format.applyPattern("00");
		return format.format(from);
	}

	public void hideSoftInputFromWindow(IBinder windowToken)
	{
		InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
		inputMethodManager.hideSoftInputFromWindow(windowToken, 0);
	}

}