Project

General

Profile

« Previous | Next » 

Revision 46ab4363

Added by Leszek Koltunski about 7 years ago

1st attempt to restore internal variables in Multiblur.

View differences:

src/main/java/org/distorted/examples/multiblur/MultiblurActivity.java
78 78
      super.onDestroy();
79 79
      }
80 80

  
81
///////////////////////////////////////////////////////////////////////////////////////////////////
82

  
83
    @Override
84
    public void onSaveInstanceState(Bundle savedInstanceState)
85
      {
86
      super.onSaveInstanceState(savedInstanceState);
87

  
88
      MultiblurSurfaceView view = (MultiblurSurfaceView) this.findViewById(R.id.multiblurSurfaceView);
89
      MultiblurRenderer renderer = view.getRenderer();
90

  
91
      savedInstanceState.putBooleanArray("checkboxes", renderer.getChecked() );
92
      }
93

  
94
///////////////////////////////////////////////////////////////////////////////////////////////////
95

  
96
    @Override
97
    public void onRestoreInstanceState(Bundle savedInstanceState)
98
      {
99
      super.onRestoreInstanceState(savedInstanceState);
100

  
101
      boolean[] checkboxes = savedInstanceState.getBooleanArray("checkboxes");
102

  
103
      MultiblurSurfaceView view = (MultiblurSurfaceView) this.findViewById(R.id.multiblurSurfaceView);
104
      MultiblurRenderer renderer = view.getRenderer();
105

  
106
      if( checkboxes!=null )
107
        {
108
        for(int i=0; i<checkboxes.length; i++)
109
          {
110
          renderer.setChecked(i,checkboxes[i]);
111
          }
112
        }
113
      }
114

  
81 115
///////////////////////////////////////////////////////////////////////////////////////////////////
82 116

  
83 117
    public void onProgressChanged(SeekBar bar, int progress, boolean fromUser)
......
113 147

  
114 148
    switch(id)
115 149
      {
116
      case R.id.multiblurCheckBox0  : sView.getRenderer().pressed(0,checked); break;
117
      case R.id.multiblurCheckBox1  : sView.getRenderer().pressed(1,checked); break;
118
      case R.id.multiblurCheckBox2  : sView.getRenderer().pressed(2,checked); break;
119
      case R.id.multiblurCheckBox3  : sView.getRenderer().pressed(3,checked); break;
120
      case R.id.multiblurCheckBox4  : sView.getRenderer().pressed(4,checked); break;
121
      case R.id.multiblurCheckBox5  : sView.getRenderer().pressed(5,checked); break;
122
      case R.id.multiblurCheckBox6  : sView.getRenderer().pressed(6,checked); break;
123
      case R.id.multiblurCheckBox7  : sView.getRenderer().pressed(7,checked); break;
150
      case R.id.multiblurCheckBox0  : sView.getRenderer().setChecked(0,checked); break;
151
      case R.id.multiblurCheckBox1  : sView.getRenderer().setChecked(1,checked); break;
152
      case R.id.multiblurCheckBox2  : sView.getRenderer().setChecked(2,checked); break;
153
      case R.id.multiblurCheckBox3  : sView.getRenderer().setChecked(3,checked); break;
154
      case R.id.multiblurCheckBox4  : sView.getRenderer().setChecked(4,checked); break;
155
      case R.id.multiblurCheckBox5  : sView.getRenderer().setChecked(5,checked); break;
156
      case R.id.multiblurCheckBox6  : sView.getRenderer().setChecked(6,checked); break;
157
      case R.id.multiblurCheckBox7  : sView.getRenderer().setChecked(7,checked); break;
124 158
      }
125 159
    }
126 160
}

Also available in: Unified diff