diff --git a/C5/app/src/main/AndroidManifest.xml b/C5/app/src/main/AndroidManifest.xml
index 2441972..d405802 100644
--- a/C5/app/src/main/AndroidManifest.xml
+++ b/C5/app/src/main/AndroidManifest.xml
@@ -3,7 +3,7 @@
xmlns:tools="http://schemas.android.com/tools"
package="com.sunvote.xpadapp"
android:versionCode="70"
- android:versionName="1.3.0.0">
+ android:versionName="1.3.0.2">
diff --git a/C5/app/src/main/java/com/sunvote/xpadapp/MainActivity.java b/C5/app/src/main/java/com/sunvote/xpadapp/MainActivity.java
index b723513..f6dc11d 100644
--- a/C5/app/src/main/java/com/sunvote/xpadapp/MainActivity.java
+++ b/C5/app/src/main/java/com/sunvote/xpadapp/MainActivity.java
@@ -1272,7 +1272,7 @@ public class MainActivity extends BaseActivity implements ComListener {
LogUtil.i(TAG, "baseEvent:" + info);
meetingId = info.confId;
//attrib bit 6 1 表示服务可以申请,0,表示服务关闭
- if((mBaseInfo.attrib & 0x20) != 0){
+ if((mBaseInfo.attrib & 0x40) != 0){
runOnUiThread(new Runnable() {
@Override
public void run() {
diff --git a/C5/app/src/main/java/com/sunvote/xpadapp/dialog/ToastAlertDialog.java b/C5/app/src/main/java/com/sunvote/xpadapp/dialog/ToastAlertDialog.java
index 54fd8ac..0c9fb3b 100644
--- a/C5/app/src/main/java/com/sunvote/xpadapp/dialog/ToastAlertDialog.java
+++ b/C5/app/src/main/java/com/sunvote/xpadapp/dialog/ToastAlertDialog.java
@@ -2,6 +2,8 @@ package com.sunvote.xpadapp.dialog;
import android.app.AlertDialog;
import android.content.Context;
+import android.content.DialogInterface;
+import android.os.Build;
import android.os.Handler;
import android.os.Looper;
import android.view.LayoutInflater;
@@ -9,6 +11,7 @@ import android.view.View;
import android.view.WindowManager;
import android.widget.TextView;
+import com.sunvote.xpadapp.MainActivity;
import com.sunvote.xpadapp.R;
public class ToastAlertDialog {
@@ -16,8 +19,8 @@ public class ToastAlertDialog {
private AlertDialog dialog;
private AlertDialog.Builder builder;
private TextView messageView ;
- private TextView confirm;
private Handler handler;
+ private Context context;
public ToastAlertDialog setMessage(CharSequence message) {
messageView.setText(message);
@@ -25,12 +28,18 @@ public class ToastAlertDialog {
}
public ToastAlertDialog(Context context){
+ this.context = context;
builder = new AlertDialog.Builder(context);
handler = new Handler(Looper.getMainLooper());
builder.setCancelable(true);
+ builder.setOnDismissListener(new DialogInterface.OnDismissListener() {
+ @Override
+ public void onDismiss(DialogInterface d) {
+ handler.postDelayed(hideMenu,10);
+ }
+ });
View rootView = LayoutInflater.from(context).inflate(R.layout.toast_dialog,null);
messageView = rootView.findViewById(R.id.message);
- confirm = rootView.findViewById(R.id.confirm);
rootView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
@@ -61,10 +70,33 @@ public class ToastAlertDialog {
lp.alpha = 0.6f;
dialog.getWindow().setAttributes(lp);
dialog.show();
+ hideBottomUIMenu();
handler.postDelayed(close,2000);
}
public static ToastAlertDialog makeText(Context context, CharSequence text){
return new ToastAlertDialog(context).setMessage(text);
}
+
+ private Runnable hideMenu = new Runnable() {
+ @Override
+ public void run() {
+ hideBottomUIMenu();
+ }
+ };
+
+ public void hideBottomUIMenu(){
+ if (Build.VERSION.SDK_INT > 11 && Build.VERSION.SDK_INT < 19) { // lower
+ View v = dialog.getWindow().getDecorView();
+ v.setSystemUiVisibility(View.GONE);
+ } else if (Build.VERSION.SDK_INT >= 19) {
+ View decorView = dialog.getWindow().getDecorView();
+ if(context instanceof MainActivity){
+ MainActivity mainActivity = (MainActivity)context;
+ decorView = mainActivity.getWindow().getDecorView();
+ }
+ int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY | 0x00002000;
+ decorView.setSystemUiVisibility(uiOptions);
+ }
+ }
}
diff --git a/C5/app/src/main/java/com/sunvote/xpadapp/fragments/MultiTitleFragment.java b/C5/app/src/main/java/com/sunvote/xpadapp/fragments/MultiTitleFragment.java
index 4320ec3..24d84a6 100644
--- a/C5/app/src/main/java/com/sunvote/xpadapp/fragments/MultiTitleFragment.java
+++ b/C5/app/src/main/java/com/sunvote/xpadapp/fragments/MultiTitleFragment.java
@@ -126,6 +126,12 @@ public class MultiTitleFragment extends BaseFragment implements TitleVoteOnBack
tvConfirmText = (TextView) view.findViewById(R.id.multivote_confirm_text);
// tvPage = (TextView) view.findViewById(R.id.multivote_page);
+ confirmLayout.setOnClickListener(new OnClickListener() {
+ @Override
+ public void onClick(View v) {
+
+ }
+ });
btnConfirm = (Button) view.findViewById(R.id.multivote_btn_submit);
@@ -142,7 +148,7 @@ public class MultiTitleFragment extends BaseFragment implements TitleVoteOnBack
if (voteInfo.mode2_modify == 1) {
doSubmitAllOk();
} else {
- tvConfirmText.setText("投票后不可修改,确定提交吗?");
+ tvConfirmText.setText("应投" + aryContent.size()+"项,已投" +votedCount+"项,确定提交吗?");
confirmLayout.setVisibility(View.VISIBLE);
}
@@ -154,7 +160,7 @@ public class MultiTitleFragment extends BaseFragment implements TitleVoteOnBack
if (voteInfo.mode2_modify == 1) {
doSubmitAllOk();
} else {
- tvConfirmText.setText("投票后不可修改,确定提交吗?");
+ tvConfirmText.setText("应投" + aryContent.size()+"项,已投" +votedCount+"项,确定提交吗?");
confirmLayout.setVisibility(View.VISIBLE);
}
}
@@ -402,11 +408,13 @@ public class MultiTitleFragment extends BaseFragment implements TitleVoteOnBack
if (voteInfo.mode2_modify == 1) {
btnModify.setVisibility(View.VISIBLE);
// tvInfo.setText(getString(R.string.submited));
+ tvInfo.setText("");
tvInfo.setBackgroundResource(R.drawable.voted);
tvInfoLayout.setVisibility(View.VISIBLE);
} else {
disableVote();
// tvInfo.setText(getString(R.string.submited));
+ tvInfo.setText("");
tvInfo.setBackgroundResource(R.drawable.voted);
tvInfoLayout.setVisibility(View.VISIBLE);
// tvInfo.setText(getString(R.string.submited_no_modify));
@@ -615,8 +623,9 @@ public class MultiTitleFragment extends BaseFragment implements TitleVoteOnBack
holder.ivResult.setBackgroundResource(R.drawable.voted_empty);
} else {
- holder.ivResult.setText("");
- holder.ivResult.setBackgroundResource(R.drawable.voted);
+ holder.ivResult.setText("已投票");
+ holder.ivResult.setBackgroundResource(R.drawable.voted_empty);
+// holder.ivResult.setBackgroundResource(R.drawable.voted);
}
} else {
holder.ivResult.setVisibility(View.INVISIBLE);
diff --git a/C5/app/src/main/java/com/sunvote/xpadapp/fragments/ResultVoteFragment.java b/C5/app/src/main/java/com/sunvote/xpadapp/fragments/ResultVoteFragment.java
index 2dce17c..8b78e4d 100644
--- a/C5/app/src/main/java/com/sunvote/xpadapp/fragments/ResultVoteFragment.java
+++ b/C5/app/src/main/java/com/sunvote/xpadapp/fragments/ResultVoteFragment.java
@@ -219,6 +219,11 @@ public class ResultVoteFragment extends BaseFragment {
dataTitleLayout3.setVisibility(View.VISIBLE);
((TextView)(dataTitleLayout3.findViewById(R.id.data_title_layout3_text1))).setText(getString(R.string.abstant));
}
+ if (pass == 0) {
+ fragmentResultMemo.setText(getString(R.string.no_pass));
+ } else {
+ fragmentResultMemo.setText(getString(R.string.pass));
+ }
} else if (voteInfo.resultInfo.resultType == 4) {
fragmentMemo.setText(getString(R.string.ceping_result));
if (voteInfo.resultInfo.num4 != 0xffff) {
@@ -233,6 +238,13 @@ public class ResultVoteFragment extends BaseFragment {
dataTitleLayout3.setVisibility(View.VISIBLE);
((TextView)(dataTitleLayout3.findViewById(R.id.data_title_layout3_text1))).setText(getString(R.string.bumanyi));
}
+ if (pass == 0) {
+ fragmentResultMemo.setText(getString(R.string.manyi));
+ } else if (pass == 1) {
+ fragmentResultMemo.setText(getString(R.string.jbmanyi));
+ } else {
+ fragmentResultMemo.setText(getString(R.string.bumanyi));
+ }
} else if (voteInfo.resultInfo.resultType == 12) {
fragmentMemo.setText(getString(R.string.ceping_result));
if (voteInfo.resultInfo.num4 != 0xffff) {
@@ -247,6 +259,13 @@ public class ResultVoteFragment extends BaseFragment {
dataTitleLayout3.setVisibility(View.VISIBLE);
((TextView)(dataTitleLayout3.findViewById(R.id.data_title_layout3_text1))).setText(getString(R.string.fcbumanyi));
}
+ if (pass == 0) {
+ fragmentResultMemo.setText(getString(R.string.manyi));
+ } else if (pass == 1) {
+ fragmentResultMemo.setText(getString(R.string.bumanyi));
+ } else {
+ fragmentResultMemo.setText(getString(R.string.fcbumanyi));
+ }
}
if(voteInfo.resultInfo.num3 != 0xffff){
double opt4 = voteInfo.resultInfo.num3 * 1.0 / fenmu * 100;
@@ -260,5 +279,8 @@ public class ResultVoteFragment extends BaseFragment {
((TextView)(dataTitleLayout4.findViewById(R.id.data_title_layout4_text2))).setText(text);
}
}
+ if (pass == 0xf) {
+ fragmentResultMemo.setText("");
+ }
}
}
diff --git a/C5/app/src/main/java/com/sunvote/xpadapp/fragments/SingleTitleFragment.java b/C5/app/src/main/java/com/sunvote/xpadapp/fragments/SingleTitleFragment.java
index c568bd4..c1ade56 100644
--- a/C5/app/src/main/java/com/sunvote/xpadapp/fragments/SingleTitleFragment.java
+++ b/C5/app/src/main/java/com/sunvote/xpadapp/fragments/SingleTitleFragment.java
@@ -527,13 +527,14 @@ public class SingleTitleFragment extends BaseFragment implements ContentVoteOnBa
}
private void disableVote() {
- if(voteInfo.mode4==customVote){
- setBtnModle(2,false);
- }else{
- btnA.setEnabled(false);
- btnB.setEnabled(false);
- btnC.setEnabled(false);
- }
+// if(voteInfo.mode4==customVote){
+// setBtnModle(2,false);
+// }else{
+// btnA.setEnabled(false);
+// btnB.setEnabled(false);
+// btnC.setEnabled(false);
+// }
+ hideVote();
}
private void showModifyOrDisable() {
diff --git a/C5/app/src/main/java/com/sunvote/xpadapp/fragments/UserResultVoteFragment.java b/C5/app/src/main/java/com/sunvote/xpadapp/fragments/UserResultVoteFragment.java
index 48d4cb1..a17c464 100644
--- a/C5/app/src/main/java/com/sunvote/xpadapp/fragments/UserResultVoteFragment.java
+++ b/C5/app/src/main/java/com/sunvote/xpadapp/fragments/UserResultVoteFragment.java
@@ -6,7 +6,10 @@ import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
+import android.widget.BaseAdapter;
import android.widget.LinearLayout;
+import android.widget.ListView;
+import android.widget.RelativeLayout;
import android.widget.TextView;
import com.sunvote.xpadapp.MainActivity;
@@ -17,6 +20,7 @@ import com.sunvote.xpadapp.db.modal.MultiTitleItem;
import java.text.DecimalFormat;
import java.util.ArrayList;
+import java.util.List;
public class UserResultVoteFragment extends BaseFragment {
@@ -27,6 +31,9 @@ public class UserResultVoteFragment extends BaseFragment {
this.data = data;
}
+ private UserAdapter userAdapter;
+ private List dataList;
+
public void setOptions(String[] options) {
this.options = options;
}
@@ -36,26 +43,29 @@ public class UserResultVoteFragment extends BaseFragment {
// 表決结果
private TextView fragmentResultMemo;
private TextView fragmentMemo;
- //
-// private LinearLayout tResult;
-// private LinearLayout dResult;
-// private LinearLayout pResult;
+ private ListView listView;
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
- View root = inflater.inflate(R.layout.fragment_result_vote, container, false);
+ View root = inflater.inflate(R.layout.fragment_result_user, container, false);
yingdaoresult = root.findViewById(R.id.yingdaoresult);
shidaoresult = root.findViewById(R.id.shidaoresult);
fragmentResultMemo = root.findViewById(R.id.fragment_result_memo);
fragmentMemo = root.findViewById(R.id.fragment_memo);
-
-// tResult = root.findViewById(R.id.t_result);
-// dResult = root.findViewById(R.id.d_result);
-// pResult = root.findViewById(R.id.p_result);
+ listView = root.findViewById(R.id.multi_vote_result_listview);
+ dataList = new ArrayList<>();
+ userAdapter = new UserAdapter(dataList);
+ listView.setAdapter(userAdapter);
showResult();
return root;
}
- private View createView(String txt,int color) {
+ @Override
+ public void onResume() {
+ super.onResume();
+ ((MainActivity)getActivity()).setBackgroundColor(Color.parseColor("#042148"));
+ }
+
+ private View createView(String txt, int color) {
TextView tv1 = new TextView(getActivity());
ViewGroup.LayoutParams vlp = new ViewGroup.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT,
@@ -130,9 +140,7 @@ public class UserResultVoteFragment extends BaseFragment {
}
private void setView(int pos, int digiters, int bitNum, int type) {
-// tResult.removeAllViews();
-// dResult.removeAllViews();
-// pResult.removeAllViews();
+ dataList.clear();
LinearLayout.LayoutParams lp=new LinearLayout.LayoutParams(0,LinearLayout.LayoutParams.WRAP_CONTENT,1.0f);
for(int i = 1; i <= options.length ; i++) {
if (options.length >= i) {
@@ -142,34 +150,48 @@ public class UserResultVoteFragment extends BaseFragment {
} else {
value1 = (data[pos++] << 8 | data[pos++]) & 0xffff;
}
-// tResult.addView(createView(options[i - 1], Color.YELLOW), lp);
-// dResult.addView(createView("" + value1, Color.WHITE), lp);
+ String szc = "" ;
if (type == 1) {
//分母
if ((fenmu > 0 && fenmu != 0xff)) {
double pzc = value1 * 1.0 / fenmu * 100;
- String szc = formatDoubleToString(pzc, digiters, false);
-// pResult.addView(createView(szc + "%", Color.WHITE), lp);
+ szc = formatDoubleToString(pzc, digiters, false);
}
} else {
//分母
if ((fenmu > 0 && fenmu != 0xffff)) {
double pzc = value1 * 1.0 / fenmu * 100;
- String szc = formatDoubleToString(pzc, digiters, false);
-// pResult.addView(createView(szc + "%", Color.WHITE), lp);
+ szc = formatDoubleToString(pzc, digiters, false);
}
}
+
+
+ String text = "" + value1 ;
+ if(szc != null && !"".equals(szc)){
+ text += "(" + szc + "%)" ;
+ }
+ UserData userData = new UserData();
+ userData.name = options[i -1];
+ userData.desc = text;
+ dataList.add(userData);
}
}
if (notVote != 0xff) {
-// tResult.addView(createView(getString(R.string.weian), Color.YELLOW), lp);
-// dResult.addView(createView("" + notVote, Color.WHITE), lp);
+ String strOpt4 = "" ;
if ((fenmu > 0 && fenmu != 0xff)) {
-// pResult.addView(createView("0%", Color.WHITE), lp);
+ strOpt4 = "0%" ;
}else{
-// pResult.setVisibility(View.GONE);
}
+ String text = "" + notVote ;
+ if(strOpt4 != null && !"".equals(strOpt4)){
+ text += "(" + strOpt4 + "%)" ;
+ }
+ UserData userData = new UserData();
+ userData.name = getString(R.string.weian);
+ userData.desc = text;
+ dataList.add(userData);
}
+ userAdapter.notifyDataSetChanged();
}
public static String formatDoubleToString(double value, Integer digits, boolean remove) {
@@ -197,4 +219,58 @@ public class UserResultVoteFragment extends BaseFragment {
}
}
+ class UserData{
+ String name;
+ String desc;
+ }
+
+ class UserAdapter extends BaseAdapter{
+
+ private List dataList;
+
+ public UserAdapter(List dataList){
+ this.dataList = dataList;
+ }
+
+
+ @Override
+ public int getCount() {
+ if(dataList != null){
+ return dataList.size();
+ }
+ return 0;
+ }
+
+ @Override
+ public Object getItem(int position) {
+ return position;
+ }
+
+ @Override
+ public long getItemId(int position) {
+ return position;
+ }
+
+ @Override
+ public View getView(int position, View convertView, ViewGroup parent) {
+ ViewHolder viewHolder = null;
+ if(convertView == null){
+ viewHolder = new ViewHolder();
+ convertView = LayoutInflater.from(getActivity()).inflate(R.layout.item_user_vote_result,null);
+ viewHolder.nameTextView = convertView.findViewById(R.id.name);
+ viewHolder.descTextView = convertView.findViewById(R.id.desc);
+ convertView.setTag(viewHolder);
+ }else{
+ viewHolder = (ViewHolder) convertView.getTag();
+ }
+ viewHolder.nameTextView.setText(dataList.get(position).name);
+ viewHolder.descTextView.setText(dataList.get(position).desc);
+ return convertView;
+ }
+ }
+
+ class ViewHolder{
+ TextView nameTextView;
+ TextView descTextView;
+ }
}
diff --git a/C5/app/src/main/res/drawable-xhdpi/btn_election_abstain.png b/C5/app/src/main/res/drawable-xhdpi/btn_election_abstain.png
deleted file mode 100644
index 18325f2..0000000
--- a/C5/app/src/main/res/drawable-xhdpi/btn_election_abstain.png
+++ /dev/null
diff --git a/C5/app/src/main/res/drawable-xhdpi/btn_election_abstain_s.png b/C5/app/src/main/res/drawable-xhdpi/btn_election_abstain_s.png
deleted file mode 100644
index 950d877..0000000
--- a/C5/app/src/main/res/drawable-xhdpi/btn_election_abstain_s.png
+++ /dev/null
diff --git a/C5/app/src/main/res/drawable-xxhdpi/btn_modify_disable.xml b/C5/app/src/main/res/drawable/btn_modify_disable.xml
index 720ed46..720ed46 100644
--- a/C5/app/src/main/res/drawable-xxhdpi/btn_modify_disable.xml
+++ b/C5/app/src/main/res/drawable/btn_modify_disable.xml
diff --git a/C5/app/src/main/res/drawable-xxhdpi/btn_modify_enable.xml b/C5/app/src/main/res/drawable/btn_modify_enable.xml
index 3fd8f37..3fd8f37 100644
--- a/C5/app/src/main/res/drawable-xxhdpi/btn_modify_enable.xml
+++ b/C5/app/src/main/res/drawable/btn_modify_enable.xml
diff --git a/C5/app/src/main/res/drawable/connect_server.xml b/C5/app/src/main/res/drawable/connect_server.xml
new file mode 100644
index 0000000..e89f83e
--- /dev/null
+++ b/C5/app/src/main/res/drawable/connect_server.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
diff --git a/C5/app/src/main/res/drawable/download_fail.xml b/C5/app/src/main/res/drawable/download_fail.xml
index 5d8b5a3..14dd01d 100644
--- a/C5/app/src/main/res/drawable/download_fail.xml
+++ b/C5/app/src/main/res/drawable/download_fail.xml
@@ -5,5 +5,5 @@
android:height="292.9dp">
+ android:fillColor="@color/white" />
\ No newline at end of file
diff --git a/C5/app/src/main/res/drawable/downloading.xml b/C5/app/src/main/res/drawable/downloading.xml
index 8a11cac..42bc3d8 100644
--- a/C5/app/src/main/res/drawable/downloading.xml
+++ b/C5/app/src/main/res/drawable/downloading.xml
@@ -5,5 +5,5 @@
android:height="260.1dp">
+ android:fillColor="@color/white" />
\ No newline at end of file
diff --git a/C5/app/src/main/res/drawable/file_not_exsit.xml b/C5/app/src/main/res/drawable/file_not_exsit.xml
index 2dd4f39..6bd5939 100644
--- a/C5/app/src/main/res/drawable/file_not_exsit.xml
+++ b/C5/app/src/main/res/drawable/file_not_exsit.xml
@@ -5,5 +5,5 @@
android:height="255.1dp">
+ android:fillColor="@color/white" />
\ No newline at end of file
diff --git a/C5/app/src/main/res/drawable-xxhdpi/modify_selector_new.xml b/C5/app/src/main/res/drawable/modify_selector_new.xml
index b996032..b996032 100644
--- a/C5/app/src/main/res/drawable-xxhdpi/modify_selector_new.xml
+++ b/C5/app/src/main/res/drawable/modify_selector_new.xml
diff --git a/C5/app/src/main/res/layout/fragment_download.xml b/C5/app/src/main/res/layout/fragment_download.xml
index d2b65d6..9c6bc77 100644
--- a/C5/app/src/main/res/layout/fragment_download.xml
+++ b/C5/app/src/main/res/layout/fragment_download.xml
@@ -12,11 +12,11 @@
+ android:src="@drawable/connect_server"/>
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/C5/app/src/main/res/layout/item_user_vote_result.xml b/C5/app/src/main/res/layout/item_user_vote_result.xml
new file mode 100644
index 0000000..b2951be
--- /dev/null
+++ b/C5/app/src/main/res/layout/item_user_vote_result.xml
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/C5/settings.gradle b/C5/settings.gradle
index c64486c..c3852a4 100644
--- a/C5/settings.gradle
+++ b/C5/settings.gradle
@@ -1,2 +1,2 @@
-include ':app', ':udpmodule', ':xpadprotocal', ':util', ':sunvoteadapter', 'txpad', 'sunvotesdk','testproject'
+include ':app', ':udpmodule', ':xpadprotocal', ':util', ':sunvoteadapter', 'txpad', 'sunvotesdk','testproject','statusBar'
\ No newline at end of file
diff --git a/C5/xpadprotocal/build/libs/xpadprotocal.jar b/C5/xpadprotocal/build/libs/xpadprotocal.jar
deleted file mode 100644
index 70767cc..0000000
--- a/C5/xpadprotocal/build/libs/xpadprotocal.jar
+++ /dev/null
diff --git a/C5/xpadprotocal/build/tmp/jar/MANIFEST.MF b/C5/xpadprotocal/build/tmp/jar/MANIFEST.MF
deleted file mode 100644
index 59499bc..0000000
--- a/C5/xpadprotocal/build/tmp/jar/MANIFEST.MF
+++ /dev/null
@@ -1,2 +0,0 @@
-Manifest-Version: 1.0
-