Added koin, databinding and navigation components

Converted App class and Main activity to Kotlin. With that refactored fields within App class to allow lazy initialization

BEWARE: at this point the navigation is very much broken, won't let you anywhere beyond home screen
This commit is contained in:
Viktor De Pasquale
2019-04-11 20:01:49 +02:00
parent e035523eb8
commit 2d58c725e0
32 changed files with 524 additions and 380 deletions
@@ -153,7 +153,7 @@ public abstract class BaseActivity extends AppCompatActivity implements Event.Au
@Override
public SharedPreferences getSharedPreferences(String name, int mode) {
if (TextUtils.equals(name, getPackageName() + "_preferences"))
return app.prefs;
return app.getPrefs();
return super.getSharedPreferences(name, mode);
}
}
@@ -28,14 +28,14 @@ public abstract class BasePreferenceFragment extends PreferenceFragmentCompat
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View v = super.onCreateView(inflater, container, savedInstanceState);
app.prefs.registerOnSharedPreferenceChangeListener(this);
app.getPrefs().registerOnSharedPreferenceChangeListener(this);
Event.register(this);
return v;
}
@Override
public void onDestroyView() {
app.prefs.unregisterOnSharedPreferenceChangeListener(this);
app.getPrefs().unregisterOnSharedPreferenceChangeListener(this);
Event.unregister(this);
super.onDestroyView();
}
@@ -0,0 +1,8 @@
package com.topjohnwu.magisk.ui.base
import androidx.databinding.ViewDataBinding
import com.skoumal.teanity.view.TeanityActivity
abstract class MagiskActivity<ViewModel : MagiskViewModel, Binding : ViewDataBinding> :
TeanityActivity<ViewModel, Binding>()
@@ -0,0 +1,8 @@
package com.topjohnwu.magisk.ui.base
import androidx.databinding.ViewDataBinding
import com.skoumal.teanity.view.TeanityFragment
abstract class MagiskFragment<ViewModel : MagiskViewModel, Binding : ViewDataBinding> :
TeanityFragment<ViewModel, Binding>()
@@ -0,0 +1,6 @@
package com.topjohnwu.magisk.ui.base
import com.skoumal.teanity.viewmodel.TeanityViewModel
abstract class MagiskViewModel : TeanityViewModel()