package com.rockchip.smart.rockhome.fragment; import android.support.v4.app.Fragment; import android.support.v7.app.AppCompatActivity; import android.text.TextUtils; /** * Created by Konstantin on 22.12.2014. */ public class ContentFragment { public static final String DEFAULT = "Default"; public static final String CLOSE = "Close"; public static final String BLUE = "Blue"; public static final String WIFI = "Wifi"; private static volatile ContentFragment mInstance; private AppCompatActivity mAppCompatActivity; private int mContentId; private String mCurrentFragment = DEFAULT; public static ContentFragment getInstance(AppCompatActivity appCompatActivity, int id) { if (mInstance == null) { synchronized (ContentFragment.class) { if (mInstance == null) { mInstance = new ContentFragment(appCompatActivity, id); } } } return mInstance; } private ContentFragment(AppCompatActivity appCompatActivity, int id) { this.mAppCompatActivity = appCompatActivity; this.mContentId = id; } private Fragment getDefaultFragment() { return getFragment("default"); } private Fragment getFragment(String key) { Fragment fragment = null; if (key.equals(BLUE)) { fragment = BlueFragment.newInstance(this); } else if (key.equals(WIFI)) { fragment = WifiFragment.newInstance(this); } else if (key.equals(CLOSE)) { fragment = null; } else { fragment = DefaultFragment.newInstance(this); } return fragment; } public String replaceFragment() { return replaceFragment(mCurrentFragment); } public String replaceFragment(String key) { Fragment fragment = getFragment(key); if (fragment == null) return key; mCurrentFragment = key; mAppCompatActivity.getSupportFragmentManager().beginTransaction().replace(mContentId, fragment).commit(); return key; } public void destroy() { mAppCompatActivity = null; mInstance = null; } public boolean verifyWifiPwd(String value) { if (TextUtils.isEmpty(value)) return false; String regStr = "^([A-Z]|[a-z]|[0-9]|[`~!@#$%^&*()+=_|{}':;',\\\\[\\\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“'。,、?]){8,16}$"; return value.matches(regStr); } }