am_dot_com

DDM20211026

Oct 26th, 2021 (edited)
284
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
XML 4.01 KB | None | 0 0
  1. package com.joythis.android.motivator;
  2.  
  3. import androidx.appcompat.app.AppCompatActivity;
  4.  
  5. import android.content.Context;
  6. import android.os.Bundle;
  7. import android.util.Log;
  8. import android.view.View;
  9. import android.widget.Button;
  10. import android.widget.SeekBar;
  11. import android.widget.TextView;
  12.  
  13. import java.util.ArrayList;
  14.  
  15. public class MainActivity extends AppCompatActivity {
  16.     public final static String STAMP = "@MainActivity";
  17.     /*
  18.     discussion about String[] (static arrays) vs. ArrayList<String>
  19.     discussion strings in XML (better) vs. strings in Java (recompilation req)
  20.      */
  21.     //ArrayList<String> mAlPositiveMsgs; //e.g. if the app was to support user defined messages
  22.     //ArrayList<String> mAlNegativeMsgs;
  23.     String[] mAlPositiveMsgs;
  24.     String[] mAlNegativeMsgs;
  25.  
  26.     Context mContext;
  27.     SeekBar mSbProbPositiveMsgs;
  28.     Button mBtnGetMsg;
  29.     TextView mTvMsgs;
  30.     AmUtil mUtil;
  31.  
  32.     View.OnClickListener mBtnClickHandler = new View.OnClickListener() {
  33.         @Override
  34.         public void onClick(View v) {
  35.             /*
  36.             pay attention to the user's probability of positive msg
  37.              */
  38.             int iUserProbability = mSbProbPositiveMsgs.getProgress(); //0-100
  39.             int iProb = AmUtil.randomInt(0, 100);
  40.             boolean bPositiveMsg = iProb <= iUserProbability;
  41.            boolean bCaution = mAlPositiveMsgs!=null && mAlNegativeMsgs!=null
  42.                    && mAlNegativeMsgs.length>0
  43.                     && mAlPositiveMsgs.length>0;
  44.  
  45.             if (bCaution){
  46.                 if (bPositiveMsg){
  47.                     //?
  48.                     int idxRandom = AmUtil.randomInt(
  49.                             0
  50.                             ,
  51.                             mAlPositiveMsgs.length-1
  52.                     );
  53.                     String strPositive = mAlPositiveMsgs[idxRandom];
  54.                     //display!
  55.                     String strAll =
  56.                         strPositive + "\n" + mTvMsgs.getText().toString();
  57.                     mTvMsgs.setText(strAll);
  58.                 }//if
  59.                 else{
  60.                     //?
  61.                     int idxRandom = AmUtil.randomInt(
  62.                             0
  63.                             ,
  64.                             mAlNegativeMsgs.length-1
  65.                     );
  66.                     String strNegative = mAlNegativeMsgs[idxRandom];
  67.                     //display!
  68.                     String strAll = strNegative + "\n" +
  69.                         mTvMsgs.getText().toString();
  70.                     mTvMsgs.setText(strAll);
  71.                 }//else
  72.             }//if bCaution
  73.         }//onClick
  74.     };//mBtnClickHandler
  75.  
  76.     @Override
  77.     protected void onCreate(Bundle savedInstanceState) {
  78.         super.onCreate(savedInstanceState);
  79.         //setContentView(R.layout.activity_main);
  80.         setContentView(R.layout.rl_motivator_v1);
  81.  
  82.         init();
  83.     }//onCreate
  84.  
  85.     void init(){
  86.         //1 - bindings
  87.         mContext = this;
  88.         mUtil = new AmUtil(this);
  89.         mAlPositiveMsgs = getResources().getStringArray(R.array.saPositiveMsgs);
  90.         /*
  91.         for (String s: fromXML){
  92.             mAlPositiveMsgs.add(s);
  93.         }//for
  94.          */
  95.         mAlNegativeMsgs = getResources().getStringArray(R.array.saNegativeMsgs);
  96.  
  97.         mSbProbPositiveMsgs = findViewById(R.id.idSbProbPositiveMsgs);
  98.         mBtnGetMsg = findViewById(R.id.idBtnGetMsg);
  99.         mTvMsgs = findViewById(R.id.idTvMsgs);
  100.  
  101.         View[] mAllRelevantObjects =
  102.                 {mSbProbPositiveMsgs, mBtnGetMsg, mTvMsgs};
  103.         //static method
  104.         boolean bQualityControlResult = AmUtil.qualityControl(
  105.             mAllRelevantObjects
  106.         );
  107.         //if (!bQualityControlResult){
  108.         if (bQualityControlResult==false){
  109.             Log.e(STAMP, getResources().getString(R.string.strQCFail));
  110.             finish();
  111.         }//if
  112.  
  113.         mUtil.fb("Hello!");
  114.  
  115.         //2 - behaviors
  116.         mBtnGetMsg.setOnClickListener(mBtnClickHandler);
  117.     }//init
  118. }//MainActivity
Advertisement
Add Comment
Please, Sign In to add comment