diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 303a77f76c..e192af63f1 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -290,6 +290,14 @@ android:name = "com.gh.gamecenter.qa.ask.QuestionEditActivity" android:screenOrientation = "portrait" /> + + + + list) { + if (list == null) return; + view.removeAllViews(); + view.addView(LayoutInflater.from(view.getContext()).inflate(R.layout.kaifu_add_item_title, null)); + for (int i = 0; i < list.size(); i++) { + View inflate = LayoutInflater.from(view.getContext()).inflate(R.layout.kaifu_add_item, null); + KaifuAddItemBinding binding = KaifuAddItemBinding.bind(inflate); + binding.setEntity(list.get(i)); + binding.setIsCloseBottom(list.size() - 1 == i); + view.addView(inflate); + } + } + @BindingAdapter("visibleGone") public static void showHide(View view, Boolean show) { if (show) { diff --git a/app/src/main/java/com/gh/common/util/DisplayUtils.java b/app/src/main/java/com/gh/common/util/DisplayUtils.java index 69fe281f2b..38181d36aa 100644 --- a/app/src/main/java/com/gh/common/util/DisplayUtils.java +++ b/app/src/main/java/com/gh/common/util/DisplayUtils.java @@ -3,6 +3,8 @@ package com.gh.common.util; import android.content.Context; import android.content.res.Resources; +import com.halo.assistant.HaloApp; + public class DisplayUtils { /** @@ -21,6 +23,15 @@ public class DisplayUtils { return (int) (pxValue / scale + 0.5f); } + /** + * 根据手机的分辨率从 dip(像素) 的单位 转成为 px + */ + public static int dip2px(float dpValue) { + final float scale = HaloApp.getInstance().getApplication().getResources().getDisplayMetrics().density; + return (int) (dpValue * scale + 0.5f); + } + + /** * 将px值转换为sp值,保证文字大小不变 * diff --git a/app/src/main/java/com/gh/gamecenter/entity/GameDetailEntity.kt b/app/src/main/java/com/gh/gamecenter/entity/GameDetailEntity.kt index df7bbe4070..6e7af91165 100644 --- a/app/src/main/java/com/gh/gamecenter/entity/GameDetailEntity.kt +++ b/app/src/main/java/com/gh/gamecenter/entity/GameDetailEntity.kt @@ -9,8 +9,6 @@ class GameDetailEntity : Parcelable { var id: String? = null - var serverInfo: List? = null - private var tag: ArrayList? = null private var tips: TipsEntity? = null @@ -87,7 +85,6 @@ class GameDetailEntity : Parcelable { } override fun writeToParcel(dest: Parcel, flags: Int) { - dest.writeTypedList(this.serverInfo) dest.writeTypedList(this.tag) dest.writeParcelable(this.tips, flags) dest.writeTypedList(this.news) @@ -110,7 +107,6 @@ class GameDetailEntity : Parcelable { constructor() {} protected constructor(`in`: Parcel) { - this.serverInfo = `in`.createTypedArrayList(ServerEntity.CREATOR) this.tag = `in`.createTypedArrayList(TagEntity.CREATOR) this.tips = `in`.readParcelable(TipsEntity::class.java.classLoader) this.news = `in`.createTypedArrayList(NewsEntity.CREATOR) diff --git a/app/src/main/java/com/gh/gamecenter/entity/KaiFuCalendarEntity.kt b/app/src/main/java/com/gh/gamecenter/entity/KaiFuCalendarEntity.kt new file mode 100644 index 0000000000..b02402183e --- /dev/null +++ b/app/src/main/java/com/gh/gamecenter/entity/KaiFuCalendarEntity.kt @@ -0,0 +1,62 @@ +package com.gh.gamecenter.entity + +import android.os.Parcel +import android.os.Parcelable +import java.text.SimpleDateFormat +import java.util.* + +/** + * Created by khy on 2017/3/17. + */ +class KaiFuCalendarEntity() : Parcelable { + + var note: String? = null + + var time: Long = 0 + + var type: String? = null + + var remark: String = "" + + var order: Int = -1 + + override fun describeContents(): Int { + return 0 + } + + fun getFormatTime(pattern: String): String? { + if (time == 0L) return null + val formatTime = SimpleDateFormat(pattern, Locale.CHINA) + return formatTime.format(time * 1000) + } + + override fun writeToParcel(dest: Parcel, flags: Int) { + dest.writeString(this.note) + dest.writeLong(this.time) + dest.writeString(this.type) + dest.writeString(this.remark) + dest.writeInt(this.order) + } + + constructor(source: Parcel) : this() { + this.note = source.readString() + this.time = source.readLong() + this.type = source.readString() + this.remark = source.readString() + this.order = source.readInt() + } + + companion object { + + @JvmField + val CREATOR: Parcelable.Creator = object : Parcelable.Creator { + override fun createFromParcel(source: Parcel): KaiFuCalendarEntity { + return KaiFuCalendarEntity(source) + } + + override fun newArray(size: Int): Array { + return arrayOfNulls(size) + } + } + } +} diff --git a/app/src/main/java/com/gh/gamecenter/entity/KaiFuServerEntity.kt b/app/src/main/java/com/gh/gamecenter/entity/KaiFuServerEntity.kt index 605ac317d7..5d0f8f4bb4 100644 --- a/app/src/main/java/com/gh/gamecenter/entity/KaiFuServerEntity.kt +++ b/app/src/main/java/com/gh/gamecenter/entity/KaiFuServerEntity.kt @@ -18,6 +18,8 @@ class KaiFuServerEntity(source: Parcel) : Parcelable { var order: Int = -1 + var remark: String = "" + override fun describeContents(): Int { return 0 } @@ -32,6 +34,7 @@ class KaiFuServerEntity(source: Parcel) : Parcelable { dest.writeLong(this.time) dest.writeString(this.type) dest.writeInt(this.order) + dest.writeString(this.remark) } init { @@ -39,6 +42,7 @@ class KaiFuServerEntity(source: Parcel) : Parcelable { this.time = source.readLong() this.type = source.readString() this.order = source.readInt() + this.remark = source.readString() } companion object { diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailKaiFuAdapter.java b/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailKaiFuAdapter.java index dae34cc669..6719d6aa5c 100644 --- a/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailKaiFuAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailKaiFuAdapter.java @@ -20,13 +20,13 @@ import android.widget.TextView; import com.gh.common.util.DisplayUtils; import com.gh.common.util.StringUtils; import com.gh.gamecenter.R; -import com.gh.gamecenter.SuggestionActivity; import com.gh.gamecenter.adapter.viewholder.GameDetailCalenderViewHolder; import com.gh.gamecenter.adapter.viewholder.GameDetailKaiFuViewHolder; import com.gh.gamecenter.databinding.KaifuDetailItemRowBinding; import com.gh.gamecenter.entity.CalendarEntity; import com.gh.gamecenter.entity.KaiFuServerEntity; import com.gh.gamecenter.eventbus.EBReuse; +import com.gh.gamecenter.kaifu.amend.KaiFuAmendActivity; import com.gh.gamecenter.retrofit.Response; import com.lightgame.adapter.BaseRecyclerAdapter; @@ -188,8 +188,9 @@ public class GameDetailKaiFuAdapter extends BaseRecyclerAdapter { viewHolder.kaifuSuggest.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - SuggestionActivity.startSuggestionActivity(mContext, 1, "service" - , StringUtils.buildString(gameName, ",", suggestTime, "开服信息有误:")); +// SuggestionActivity.startSuggestionActivity(mContext, 1, "service" +// , StringUtils.buildString(gameName, ",", suggestTime, "开服信息有误:")); + mContext.startActivity(KaiFuAmendActivity.Companion.getIntent(mContext)); } }); diff --git a/app/src/main/java/com/gh/gamecenter/kaifu/add/KaiFuAddActivity.kt b/app/src/main/java/com/gh/gamecenter/kaifu/add/KaiFuAddActivity.kt new file mode 100644 index 0000000000..48b54e27d3 --- /dev/null +++ b/app/src/main/java/com/gh/gamecenter/kaifu/add/KaiFuAddActivity.kt @@ -0,0 +1,41 @@ +package com.gh.gamecenter.kaifu.add + +import android.content.Context +import android.content.Intent +import android.os.Bundle +import com.gh.base.BaseActivity +import com.gh.gamecenter.R +import com.gh.gamecenter.databinding.ActivityKaifuAddBinding +import com.gh.gamecenter.entity.KaiFuCalendarEntity + +class KaiFuAddActivity : BaseActivity() { + + private var mBinding: ActivityKaifuAddBinding? = null + + private val mList = ArrayList() + + init { + for (i in 0 until 5) { + mList.add(KaiFuCalendarEntity()) + } + } + + override fun getLayoutId(): Int { + return R.layout.activity_kaifu_add + } + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setNavigationTitle("新增开服") + mBinding = ActivityKaifuAddBinding.bind(mContentView) + mBinding?.list = mList + } + + + companion object { + + fun getIntent(context: Context): Intent { + return Intent(context, KaiFuAddActivity::class.java) + } + } +} diff --git a/app/src/main/java/com/gh/gamecenter/kaifu/amend/KaiFuAmendActivity.kt b/app/src/main/java/com/gh/gamecenter/kaifu/amend/KaiFuAmendActivity.kt new file mode 100644 index 0000000000..88d65ca3c4 --- /dev/null +++ b/app/src/main/java/com/gh/gamecenter/kaifu/amend/KaiFuAmendActivity.kt @@ -0,0 +1,19 @@ +package com.gh.gamecenter.kaifu.amend + +import android.content.Context +import android.content.Intent +import com.gh.base.BaseActivity +import com.gh.gamecenter.R + +class KaiFuAmendActivity : BaseActivity() { + override fun getLayoutId(): Int { + return R.layout.activity_kaifu_amend + } + + companion object { + + fun getIntent(context: Context): Intent { + return Intent(context, KaiFuAmendActivity::class.java) + } + } +} diff --git a/app/src/main/res/drawable-xhdpi/kaifu_amend_select.png b/app/src/main/res/drawable-xhdpi/kaifu_amend_select.png new file mode 100644 index 0000000000..0111322530 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/kaifu_amend_select.png differ diff --git a/app/src/main/res/drawable-xhdpi/kaifu_amend_unselect.png b/app/src/main/res/drawable-xhdpi/kaifu_amend_unselect.png new file mode 100644 index 0000000000..4879eba32e Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/kaifu_amend_unselect.png differ diff --git a/app/src/main/res/drawable-xhdpi/kaifu_delete_select.png b/app/src/main/res/drawable-xhdpi/kaifu_delete_select.png new file mode 100644 index 0000000000..fab6805d62 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/kaifu_delete_select.png differ diff --git a/app/src/main/res/drawable-xhdpi/kaifu_delete_unselect.png b/app/src/main/res/drawable-xhdpi/kaifu_delete_unselect.png new file mode 100644 index 0000000000..5df7265d38 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/kaifu_delete_unselect.png differ diff --git a/app/src/main/res/drawable/kaifu_radio_button_style.xml b/app/src/main/res/drawable/kaifu_radio_button_style.xml new file mode 100644 index 0000000000..a46e935b64 --- /dev/null +++ b/app/src/main/res/drawable/kaifu_radio_button_style.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_kaifu_add.xml b/app/src/main/res/layout/activity_kaifu_add.xml new file mode 100644 index 0000000000..334e1468eb --- /dev/null +++ b/app/src/main/res/layout/activity_kaifu_add.xml @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/activity_kaifu_amend.xml b/app/src/main/res/layout/activity_kaifu_amend.xml new file mode 100644 index 0000000000..80a3be22c4 --- /dev/null +++ b/app/src/main/res/layout/activity_kaifu_amend.xml @@ -0,0 +1,204 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/kaifu_add_item.xml b/app/src/main/res/layout/kaifu_add_item.xml new file mode 100644 index 0000000000..e9924a0b50 --- /dev/null +++ b/app/src/main/res/layout/kaifu_add_item.xml @@ -0,0 +1,71 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/kaifu_add_item_title.xml b/app/src/main/res/layout/kaifu_add_item_title.xml new file mode 100644 index 0000000000..174cfc75a4 --- /dev/null +++ b/app/src/main/res/layout/kaifu_add_item_title.xml @@ -0,0 +1,47 @@ + + + + + + + + + + + diff --git a/app/src/main/res/layout/kaifu_detail_item_row.xml b/app/src/main/res/layout/kaifu_detail_item_row.xml index e26bf8c2d4..b6541d76b4 100644 --- a/app/src/main/res/layout/kaifu_detail_item_row.xml +++ b/app/src/main/res/layout/kaifu_detail_item_row.xml @@ -1,5 +1,4 @@ - @@ -60,7 +59,7 @@ android:background = "@color/title" android:gravity = "center" android:maxLines = "2" - android:text="@{isTitle?`备注`:`开服备注`}" + android:text="@{isTitle?`备注`:entity.remark}" android:textColor = "@android:color/white" android:textSize = "12sp" /> diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index a3d1f06c7d..59f5f0f844 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -561,5 +561,6 @@ 已连续签到 %1$d 天]]> %1$d]]> 著作权归作者所有©光环助手 + 操作说明:\n1.第1行是当前开服表上最新的开服信息,仅供参考\n2.点击第1行的内容,会自动在下方表格填入对应的内容\n3.自动填入内容时,时间会自动加1天,名字会自动按数字加1