-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #168 from salemove/prelive
Release 1.7.0
- Loading branch information
Showing
38 changed files
with
806 additions
and
245 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
48 changes: 48 additions & 0 deletions
48
app/src/main/java/com/glia/exampleapp/SettingsFragment.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,16 +1,64 @@ | ||
package com.glia.exampleapp; | ||
|
||
import android.content.SharedPreferences; | ||
import android.os.Bundle; | ||
|
||
import androidx.navigation.NavController; | ||
import androidx.navigation.fragment.NavHostFragment; | ||
import androidx.preference.Preference; | ||
import androidx.preference.PreferenceFragmentCompat; | ||
import androidx.preference.PreferenceManager; | ||
|
||
import com.glia.exampleapp.auth.AuthorizationType; | ||
|
||
public class SettingsFragment extends PreferenceFragmentCompat { | ||
|
||
private SharedPreferences sharedPreferences; | ||
|
||
public SettingsFragment() { | ||
} | ||
|
||
@Override | ||
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { | ||
setPreferencesFromResource(R.xml.preferences, rootKey); | ||
sharedPreferences = PreferenceManager.getDefaultSharedPreferences(requireContext()); | ||
initAuthorizationPreferenceClickListener(); | ||
} | ||
|
||
@Override | ||
public void onResume() { | ||
super.onResume(); | ||
updateAuthorizationDescription(); | ||
} | ||
|
||
private void initAuthorizationPreferenceClickListener() { | ||
NavController navController = NavHostFragment.findNavController(this); | ||
Preference authorizationButtonPreference = findPreference(getString(R.string.pref_app_authorization)); | ||
if (authorizationButtonPreference != null) | ||
authorizationButtonPreference.setOnPreferenceClickListener(preference -> { | ||
navController.navigate(R.id.authorization); | ||
return true; | ||
}); | ||
} | ||
|
||
private void updateAuthorizationDescription() { | ||
int authorizationType = sharedPreferences.getInt(getString(R.string.pref_authorization_type), AuthorizationType.DEFAULT); | ||
Preference preference = findPreference(getString(R.string.pref_app_authorization)); | ||
if (preference != null) setAuthorizationSummary(preference, authorizationType); | ||
} | ||
|
||
private void setAuthorizationSummary(Preference preference, int authorizationType) { | ||
if (authorizationType == AuthorizationType.APP_TOKEN) | ||
setAppTokenSummary(preference); | ||
else if (authorizationType == AuthorizationType.SITE_API_KEY) | ||
setApiKeySummary(preference); | ||
} | ||
|
||
private void setAppTokenSummary(Preference preference) { | ||
preference.setSummary(R.string.authorization_app_token); | ||
} | ||
|
||
private void setApiKeySummary(Preference preference) { | ||
preference.setSummary(R.string.authorization_site_api_key); | ||
} | ||
} |
83 changes: 83 additions & 0 deletions
83
app/src/main/java/com/glia/exampleapp/auth/AuthorizationFragment.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,83 @@ | ||
package com.glia.exampleapp.auth; | ||
|
||
import android.content.SharedPreferences; | ||
import android.os.Bundle; | ||
import android.view.LayoutInflater; | ||
import android.view.View; | ||
import android.view.ViewGroup; | ||
|
||
import androidx.annotation.NonNull; | ||
import androidx.annotation.Nullable; | ||
import androidx.fragment.app.Fragment; | ||
import androidx.preference.PreferenceManager; | ||
import androidx.viewpager2.widget.ViewPager2; | ||
|
||
import com.glia.exampleapp.R; | ||
import com.glia.exampleapp.auth.adapter.AuthorizationPagerAdapter; | ||
import com.google.android.material.tabs.TabLayout; | ||
import com.google.android.material.tabs.TabLayoutMediator; | ||
|
||
import java.util.ArrayList; | ||
import java.util.List; | ||
|
||
|
||
public class AuthorizationFragment extends Fragment { | ||
private final List<AuthorizationPageFragment> authorizationPages = new ArrayList<AuthorizationPageFragment>() {{ | ||
add(new AuthorizationPageFragment( | ||
AuthorizationType.APP_TOKEN, | ||
R.string.authorization_app_token, | ||
R.xml.auth_token | ||
)); | ||
add(new AuthorizationPageFragment( | ||
AuthorizationType.SITE_API_KEY, | ||
R.string.authorization_site_api_key, | ||
R.xml.auth_site_api_key | ||
)); | ||
}}; | ||
|
||
private TabLayout tabLayout; | ||
private ViewPager2 viewPager; | ||
|
||
public AuthorizationFragment() { | ||
} | ||
|
||
@Nullable | ||
@Override | ||
public View onCreateView(@NonNull LayoutInflater inflater, | ||
@Nullable ViewGroup container, | ||
@Nullable Bundle savedInstanceState) { | ||
View view = inflater.inflate(R.layout.authorization_fragment, container, false); | ||
tabLayout = view.findViewById(R.id.tab_layout); | ||
viewPager = view.findViewById(R.id.view_pager); | ||
viewPager.setAdapter(new AuthorizationPagerAdapter<>(this, authorizationPages)); | ||
setupMediator(); | ||
return view; | ||
} | ||
|
||
private void setupMediator() { | ||
new TabLayoutMediator(tabLayout, viewPager, | ||
(tab, position) -> | ||
tab.setText(authorizationPages.get(position).getTitleResource()) | ||
).attach(); | ||
} | ||
|
||
@Override | ||
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { | ||
super.onViewCreated(view, savedInstanceState); | ||
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(requireContext()); | ||
int item = sharedPreferences.getInt(getString(R.string.pref_authorization_type), AuthorizationType.DEFAULT); | ||
viewPager.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() { | ||
@Override | ||
public void onPageSelected(int position) { | ||
super.onPageSelected(position); | ||
sharedPreferences.edit() | ||
.putInt( | ||
getString(R.string.pref_authorization_type), | ||
authorizationPages.get(position).getAuthType() | ||
).apply(); | ||
} | ||
}); | ||
viewPager.post(() -> viewPager.setCurrentItem(item, false)); | ||
} | ||
} | ||
|
30 changes: 30 additions & 0 deletions
30
app/src/main/java/com/glia/exampleapp/auth/AuthorizationPageFragment.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
package com.glia.exampleapp.auth; | ||
|
||
import android.os.Bundle; | ||
|
||
import androidx.preference.PreferenceFragmentCompat; | ||
|
||
public class AuthorizationPageFragment extends PreferenceFragmentCompat { | ||
private final int titleRes; | ||
private final int authType; | ||
private final int prefRes; | ||
|
||
public AuthorizationPageFragment(int authType, int titleRes, int prefRes) { | ||
this.titleRes = titleRes; | ||
this.authType = authType; | ||
this.prefRes = prefRes; | ||
} | ||
|
||
@Override | ||
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { | ||
setPreferencesFromResource(prefRes, rootKey); | ||
} | ||
|
||
public int getTitleResource() { | ||
return titleRes; | ||
} | ||
|
||
public int getAuthType() { | ||
return authType; | ||
} | ||
} |
8 changes: 8 additions & 0 deletions
8
app/src/main/java/com/glia/exampleapp/auth/AuthorizationType.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
package com.glia.exampleapp.auth; | ||
|
||
public class AuthorizationType { | ||
public static final int APP_TOKEN = 0; | ||
public static final int SITE_API_KEY = 1; | ||
|
||
public static final int DEFAULT = SITE_API_KEY; | ||
} |
27 changes: 27 additions & 0 deletions
27
app/src/main/java/com/glia/exampleapp/auth/adapter/AuthorizationPagerAdapter.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
package com.glia.exampleapp.auth.adapter; | ||
|
||
import androidx.annotation.NonNull; | ||
import androidx.fragment.app.Fragment; | ||
import androidx.viewpager2.adapter.FragmentStateAdapter; | ||
|
||
import java.util.List; | ||
|
||
public class AuthorizationPagerAdapter<T extends Fragment> extends FragmentStateAdapter { | ||
private final List<T> authorizationScreens; | ||
|
||
public AuthorizationPagerAdapter(Fragment fragment, List<T> authorizationScreens) { | ||
super(fragment); | ||
this.authorizationScreens = authorizationScreens; | ||
} | ||
|
||
@NonNull | ||
@Override | ||
public Fragment createFragment(int position) { | ||
return authorizationScreens.get(position); | ||
} | ||
|
||
@Override | ||
public int getItemCount() { | ||
return authorizationScreens.size(); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
<?xml version="1.0" encoding="utf-8"?> | ||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" | ||
xmlns:app="http://schemas.android.com/apk/res-auto" | ||
android:layout_width="match_parent" | ||
android:layout_height="match_parent"> | ||
|
||
<com.google.android.material.tabs.TabLayout | ||
android:id="@+id/tab_layout" | ||
android:layout_width="match_parent" | ||
android:layout_height="wrap_content" | ||
app:layout_constraintEnd_toEndOf="parent" | ||
app:layout_constraintStart_toStartOf="parent" | ||
app:layout_constraintTop_toTopOf="parent" /> | ||
|
||
<androidx.viewpager2.widget.ViewPager2 | ||
android:id="@+id/view_pager" | ||
android:layout_width="match_parent" | ||
android:layout_height="0dp" | ||
app:layout_constraintBottom_toBottomOf="parent" | ||
app:layout_constraintEnd_toEndOf="parent" | ||
app:layout_constraintStart_toStartOf="parent" | ||
app:layout_constraintTop_toBottomOf="@id/tab_layout" /> | ||
</androidx.constraintlayout.widget.ConstraintLayout> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,10 @@ | ||
<?xml version="1.0" encoding="utf-8"?> | ||
<resources xmlns:tools="http://schemas.android.com/tools"> | ||
<string name="app_token" tools:ignore="ExtraTranslation">xWa2EKJTN35En26o</string> | ||
<string name="site_id" tools:ignore="ExtraTranslation">72c76913-ff1b-48a6-b209-bbeb57bd8649</string> | ||
<string name="queue_id" tools:ignore="ExtraTranslation">a0b87175-4ed1-44a7-9e78-e798f45d233f</string> | ||
<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="ExtraTranslation,TypographyDashes,Typos"> | ||
<string name="app_token">xWa2EKJTN35En26o</string> | ||
<string name="site_id">72c76913-ff1b-48a6-b209-bbeb57bd8649</string> | ||
<string name="queue_id">a0b87175-4ed1-44a7-9e78-e798f45d233f</string> | ||
<string name="glia_api_key_id">9542b30d-faf2-443c-8553-d76ae331f9eb</string> | ||
<string name="glia_api_key_secret">gls_wZSeWDzOGFYzy794U5yDL5Sq4UlIadxPPglH</string> | ||
<!-- for bot--> | ||
<!-- <string name="queue_id" tools:ignore="ExtraTranslation">9f7632ed-56be-4999-819d-381fc3ffa22c</string>--> | ||
</resources> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
<?xml version="1.0" encoding="utf-8"?> | ||
<PreferenceScreen xmlns:app="http://schemas.android.com/apk/res-auto"> | ||
<EditTextPreference | ||
app:defaultValue="@string/glia_api_key_id" | ||
app:key="@string/pref_api_key_id" | ||
app:title="@string/settings_site_api_key_id" | ||
app:useSimpleSummaryProvider="true" /> | ||
<EditTextPreference | ||
app:defaultValue="@string/glia_api_key_secret" | ||
app:key="@string/pref_api_key_secret" | ||
app:title="@string/settings_site_api_key_secret" | ||
app:useSimpleSummaryProvider="true" /> | ||
</PreferenceScreen> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
<?xml version="1.0" encoding="utf-8"?> | ||
<PreferenceScreen xmlns:app="http://schemas.android.com/apk/res-auto"> | ||
<EditTextPreference | ||
app:defaultValue="@string/app_token" | ||
app:key="@string/pref_app_token" | ||
app:title="@string/settings_app_token" | ||
app:useSimpleSummaryProvider="true" /> | ||
</PreferenceScreen> |
Oops, something went wrong.