/*
* Tencent is pleased to support the open source community by making
* Tencent GT (Version 2.4 and subsequent versions) available.
*
* Notwithstanding anything to the contrary herein, any previous version
* of Tencent GT shall not be subject to the license hereunder.
* All right, title, and interest, including all intellectual property rights,
* in and to the previous version of Tencent GT (including any and all copies thereof)
* shall be owned and retained by Tencent and subject to the license under the
* Tencent GT End User License Agreement (http://gt.qq.com/wp-content/EULA_EN.html).
*
* Copyright (C) 2015 THL A29 Limited, a Tencent company. All rights reserved.
*
* Licensed under the MIT License (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of the License at
*
* http://opensource.org/licenses/MIT
*
* Unless required by applicable law or agreed to in writing, software distributed
* under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
* CONDITIONS OF ANY KIND, either express or implied. See the License for the
* specific language governing permissions and limitations under the License.
*/
package com.tencent.wstt.gt.manager;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import com.tencent.wstt.gt.AidlEntry;
import com.tencent.wstt.gt.InPara;
public class IpUIManager {
public static List<InPara> list_ip =
Collections.synchronizedList(new ArrayList<InPara>());
public static boolean isEmpty()
{
for (Client client : ClientManager.getInstance().getAllClient())
{
if (! client.isInParaEmpty())
{
return false;
}
}
return true;
}
public static List<InPara> getAll()
{
List<InPara> result = new ArrayList<InPara>();
for (Client client : ClientManager.getInstance().getAllClient())
{
result.addAll(client.getAllInParas());
}
return result;
}
public static int getInListDisableTitlePosition()
{
int pos = 0;
for (int i = 0; i < list_ip.size(); i++)
{
if (list_ip.get(i).getKey().equals(ParamConst.PROMPT_DISABLE_TITLE))
{
pos = i;
break;
}
}
return pos;
}
public static void addItemToAC(InPara ip)
{
if (list_ip.contains(ip) || ip.getDisplayProperty() != AidlEntry.DISPLAY_AC)
{
return;
}
int pos_AC = getInListDividePosition(); // AC
/*
* list_ip为空,压根就没有线,这里先把三条基本线加上逻辑上比较好判断
* 其实加一条普通关注分界线为锚点即可
*/
if (pos_AC == 0)
{
// 悬浮框分界线
InPara iv_ac = new InPara();
iv_ac.setKey(ParamConst.PROMPT_INIT_TITLE);
iv_ac.setDisplayProperty(InPara.DISPLAY_TITLE);
list_ip.add(iv_ac);
// 加普通关注分界线
InPara iv_normalDivid = new InPara();
iv_normalDivid.setKey(ParamConst.DIVID_TITLE);
iv_normalDivid.setDisplayProperty(InPara.DISPLAY_TITLE);
list_ip.add(iv_normalDivid);
// 加disable入参分界线
InPara iv_disableDivid = new InPara();
iv_disableDivid.setKey(ParamConst.PROMPT_DISABLE_TITLE);
iv_disableDivid.setDisplayProperty(InPara.DISPLAY_TITLE);
IpUIManager.list_ip.add(iv_disableDivid);
pos_AC = 1;
}
if (pos_AC < 4)
{
list_ip.add(pos_AC, ip);
}
else
{
ip.setDisplayProperty(AidlEntry.DISPLAY_NORMAL);
}
}
public static int getInListDividePosition() {
int pos = 0;
for (int i = 0; i < list_ip.size(); i++) {
if (list_ip.get(i).getKey().equals(ParamConst.DIVID_TITLE)) {
pos = i;
break;
}
}
return pos;
}
public static List<InPara> getACInputParams() {
List<InPara> show_iv = new ArrayList<InPara>();
for (int i = 1; i < list_ip.size(); i++) {
InPara ip = list_ip.get(i);
if (ip.getKey().equals(ParamConst.DIVID_TITLE)) {
break;
}
show_iv.add(list_ip.get(i));
}
return show_iv;
}
}