@@ -77,10 +77,6 @@ class AnalyzeFragment : Fragment(R.layout.fragment_analyze) {
7777 enterProgressDisplayingMode()
7878 }
7979
80- if (analyzeViewModel.clickedShowDetails) {
81- enterProgressDetailsMode()
82- }
83-
8480 b.analyzeButton.setOnClickListener {
8581 logToBoth(TAG , " Clicked \" analyze\" button" )
8682 analyzeViewModel.clickedAnalyze = true
@@ -91,21 +87,8 @@ class AnalyzeFragment : Fragment(R.layout.fragment_analyze) {
9187
9288 private fun enterProgressDisplayingMode () {
9389 b.analyzeButton.visibility = View .INVISIBLE
94- b.analyzingMessageThreadsTextView.visibility = View .VISIBLE
95- b.threadsProgressBar.visibility = View .VISIBLE
96- b.threadsProgressFractionTextView.visibility = View .VISIBLE
97- b.threadsProgressPercentageTextView.visibility = View .VISIBLE
98- b.threadsProgressFractionTextView.text =
99- getString(R .string.x_out_of_y_message_threads, 0 , " ?" )
100- b.threadsProgressPercentageTextView.text = getString(R .string.x_percent, 0 )
101-
102- b.showDetailsButton.visibility = View .VISIBLE
103- b.showDetailsButton.setOnClickListener {
104- logToBoth(TAG , " Clicked \" show details\" button" )
105- analyzeViewModel.clickedShowDetails = true
106- enterProgressDetailsMode()
107- }
10890
91+ b.analyzingMessageThreadsTextView.visibility = View .VISIBLE
10992 valueAnimator = ValueAnimator .ofFloat(0f , 1f ).apply {
11093 duration = 1000
11194 repeatCount = ValueAnimator .INFINITE
@@ -116,56 +99,62 @@ class AnalyzeFragment : Fragment(R.layout.fragment_analyze) {
11699 start()
117100 }
118101
119- var threadsTotal = - 1
120- analyzeViewModel.threadsTotal.observe({ lifecycle }) { newThreadsTotal ->
121- threadsTotal = newThreadsTotal
102+ b.threadsProgressBar.visibility = View .VISIBLE
103+ b.threadsProgressPercentageTextView.text = getString(R .string.x_percent, 0 )
104+ b.threadsProgressPercentageTextView.visibility = View .VISIBLE
105+ b.threadsProgressFractionTextView.visibility = View .VISIBLE
106+ analyzeViewModel.threadsTotal.observe({ lifecycle }) { threadsTotal ->
122107 b.threadsProgressBar.max = threadsTotal
108+ b.threadsProgressFractionTextView.text = getString(
109+ R .string.x_out_of_y_message_threads,
110+ analyzeViewModel.threadsCompleted.value ? : 0 ,
111+ threadsTotal
112+ )
123113 }
124- analyzeViewModel.threadsCompleted.observe({ lifecycle }) { newThreadsCompleted ->
125- if (threadsTotal != - 1 ) {
126- b.threadsProgressBar.progress = newThreadsCompleted
114+ analyzeViewModel.threadsCompleted.observe({ lifecycle }) { threadsCompleted ->
115+ analyzeViewModel.threadsTotal.value?.let { threadsTotal ->
116+ b.threadsProgressBar.progress = threadsCompleted
117+ b.threadsProgressPercentageTextView.text = getString(
118+ R .string.x_percent,
119+ (100.0 * threadsCompleted / threadsTotal).roundToInt()
120+ )
127121 b.threadsProgressFractionTextView.text = getString(
128122 R .string.x_out_of_y_message_threads,
129- newThreadsCompleted ,
130- threadsTotal.toString()
123+ threadsCompleted ,
124+ threadsTotal
131125 )
132- val percentDone = (100.0 * newThreadsCompleted / threadsTotal).roundToInt()
133- b.threadsProgressPercentageTextView.text =
134- getString(R .string.x_percent, percentDone)
135126 }
136127 }
137- var messagesTotal = - 1
138- analyzeViewModel.messagesTotal.observe({ lifecycle }) { newMessagesTotal ->
139- messagesTotal = newMessagesTotal
140- b.messagesProgressBar.max = newMessagesTotal
128+
129+ b.forCurrentMessageThreadTextView.visibility = View .VISIBLE
130+ b.messagesProgressBar.visibility = View .VISIBLE
131+ b.messagesProgressPercentageTextView.text = getString(R .string.x_percent, 0 )
132+ b.messagesProgressPercentageTextView.visibility = View .VISIBLE
133+ b.messagesProgressFractionTextView.visibility = View .VISIBLE
134+ analyzeViewModel.messagesTotal.observe({ lifecycle }) { messagesTotal ->
135+ b.messagesProgressBar.max = messagesTotal
136+ b.messagesProgressFractionTextView.text = getString(
137+ R .string.x_out_of_y_messages,
138+ analyzeViewModel.messagesCompleted.value ? : 0 ,
139+ messagesTotal
140+ )
141141 }
142- analyzeViewModel.messagesCompleted.observe({ lifecycle }) { newMessagesCompleted ->
143- if (messagesTotal != - 1 ) {
144- b.messagesProgressBar.progress = newMessagesCompleted
142+ analyzeViewModel.messagesCompleted.observe({ lifecycle }) { messagesCompleted ->
143+ analyzeViewModel.messagesTotal.value?.let { messagesTotal ->
144+ b.messagesProgressBar.progress = messagesCompleted
145+ b.messagesProgressPercentageTextView.text = getString(
146+ R .string.x_percent,
147+ (100.0 * messagesCompleted / messagesTotal).roundToInt()
148+ )
145149 b.messagesProgressFractionTextView.text = getString(
146150 R .string.x_out_of_y_messages,
147- newMessagesCompleted ,
148- messagesTotal.toString()
151+ messagesCompleted ,
152+ messagesTotal
149153 )
150- val percentDone =
151- if (messagesTotal == 0 ) 100
152- else (100.0 * newMessagesCompleted / messagesTotal).roundToInt()
153- b.messagesProgressPercentageTextView.text =
154- getString(R .string.x_percent, percentDone)
155154 }
156155 }
157156 }
158157
159- private fun enterProgressDetailsMode () {
160- b.showDetailsButton.visibility = View .INVISIBLE
161- b.messagesProgressFractionTextView.text = getString(R .string.x_out_of_y_messages, 0 , " ?" )
162- b.messagesProgressPercentageTextView.text = getString(R .string.x_percent, 0 )
163- b.forCurrentMessageThreadTextView.visibility = View .VISIBLE
164- b.messagesProgressBar.visibility = View .VISIBLE
165- b.messagesProgressPercentageTextView.visibility = View .VISIBLE
166- b.messagesProgressFractionTextView.visibility = View .VISIBLE
167- }
168-
169158 override fun onDestroyView () {
170159 super .onDestroyView()
171160 _binding = null
0 commit comments