├── .gitignore ├── .idea ├── codeStyles │ └── Project.xml ├── copyright │ ├── javatechnikh.xml │ └── profiles_settings.xml ├── misc.xml └── runConfigurations.xml ├── LICENSE ├── README.md ├── app ├── .gitignore ├── Blog.jks ├── build.gradle ├── proguard-rules.pro └── src │ └── main │ ├── AndroidManifest.xml │ ├── assets │ ├── OpenSans-Light.ttf │ └── fonts │ │ └── material-icon-font.ttf │ ├── java │ ├── com │ │ └── technikh │ │ │ └── onedrupal │ │ │ ├── activities │ │ │ ├── ActivityAuthentication.java │ │ │ ├── ActivityBase.java │ │ │ ├── ActivityDashboard.java │ │ │ ├── ActivityFanPostDetails.java │ │ │ ├── ActivityImageSelector.java │ │ │ ├── ActivityPost.java │ │ │ ├── ActivitySplash.java │ │ │ ├── FeaturedSitesActivity.java │ │ │ ├── SharedDataReceiverActivity.java │ │ │ ├── SiteContentTabsActivity.java │ │ │ ├── SiteLoginActivity.java │ │ │ ├── SliderInputControlWidget.java │ │ │ ├── SliderInputControlWidgetConfigureActivity.java │ │ │ ├── TaxonomyBrowserActivity.java │ │ │ └── ViewImageActivity.java │ │ │ ├── adapter │ │ │ ├── AdapterFanPosts.java │ │ │ ├── AutoSuggestAdapter.java │ │ │ ├── BreadcumAdapter.java │ │ │ ├── GalleryAdapter.java │ │ │ ├── SiteAdapter.java │ │ │ └── TeaserAdapter.java │ │ │ ├── app │ │ │ └── MyApplication.java │ │ │ ├── authenticator │ │ │ ├── AccountAuthenticator.java │ │ │ ├── AuthPreferences.java │ │ │ └── AuthenticatorService.java │ │ │ ├── controller │ │ │ └── AppController.java │ │ │ ├── custom │ │ │ ├── DayAxisValueFormatter.java │ │ │ └── MyMarkerView.java │ │ │ ├── fragments │ │ │ ├── BarChartFrag.java │ │ │ ├── FragmentADDemo.java │ │ │ ├── FragmentADGallery.java │ │ │ ├── FragmentADHome.java │ │ │ ├── FragmentADPostDetails.java │ │ │ ├── FragmentADRedsox.java │ │ │ ├── FragmentBase.java │ │ │ ├── SimpleFragment.java │ │ │ └── TaxonomyBrowserActivityFragment.java │ │ │ ├── helpers │ │ │ ├── Constants.java │ │ │ ├── PDCallbackDialogs.java │ │ │ ├── PDRestClient.java │ │ │ ├── PDTinyDB.java │ │ │ ├── PDTinyDBKeys.java │ │ │ ├── PDUtils.java │ │ │ ├── PDUtilsJSON.java │ │ │ ├── SFDialogsHelper.java │ │ │ ├── SFPermissionHelper.java │ │ │ ├── SFTinyDB.java │ │ │ ├── SessionManager.java │ │ │ └── UserPresenter.java │ │ │ ├── listviewitems │ │ │ ├── BarChartItem.java │ │ │ └── ChartItem.java │ │ │ ├── models │ │ │ ├── BreadcumModel.java │ │ │ ├── ChangedItem.java │ │ │ ├── ConstantData.java │ │ │ ├── CreatedItem.java │ │ │ ├── FidItem.java │ │ │ ├── FilemimeItem.java │ │ │ ├── FilenameItem.java │ │ │ ├── FilesizeItem.java │ │ │ ├── ImageUploadResponse.java │ │ │ ├── LangcodeItem.java │ │ │ ├── ModelFanPosts.java │ │ │ ├── ModelNodeType.java │ │ │ ├── NodeSimpleFields.java │ │ │ ├── OneGlobalSettingsSectionModel.java │ │ │ ├── OneMultipleTermsItemModel.java │ │ │ ├── OneMultipleTermsItemTermModel.java │ │ │ ├── OneMultipleTermsModel.java │ │ │ ├── SettingsType.java │ │ │ ├── SettingsTypeList.java │ │ │ ├── Site.java │ │ │ ├── SiteList.java │ │ │ ├── StatusItem.java │ │ │ ├── TaxonomyTermModel.java │ │ │ ├── TeaserModel.java │ │ │ ├── TreeChild.java │ │ │ ├── UidItem.java │ │ │ ├── UriItem.java │ │ │ ├── User.java │ │ │ ├── UuidItem.java │ │ │ ├── VocabSimpleTerm.java │ │ │ ├── VocabTerm.java │ │ │ ├── VocabTermsList.java │ │ │ ├── VocabTermsSimpleList.java │ │ │ ├── fieldBooleanValue.java │ │ │ ├── fieldIntTargetId.java │ │ │ ├── fieldIntValue.java │ │ │ ├── fieldStringTargetUuid.java │ │ │ ├── fieldStringValue.java │ │ │ ├── fieldTargetIdValue.java │ │ │ ├── nodeData.java │ │ │ ├── nodeDeserializer.java │ │ │ ├── nodeFields.java │ │ │ └── settingTaxonomyField.java │ │ │ ├── network │ │ │ ├── AddCookiesInterceptor.java │ │ │ ├── ApiCall.java │ │ │ ├── DrupalAPI.java │ │ │ ├── GetDrupalNodeDataService.java │ │ │ ├── GetSiteDataService.java │ │ │ ├── OnApiGetTaskCompleted.java │ │ │ ├── OnSettingsApiGetTaskCompleted.java │ │ │ ├── ProvideCacheInterceptor.java │ │ │ ├── ProvideOfflineCacheInterceptor.java │ │ │ ├── ReceivedCookiesInterceptor.java │ │ │ ├── RetrofitDrupalNodeInstance.java │ │ │ ├── RetrofitOneDrupalInstance.java │ │ │ ├── RetrofitSiteInstance.java │ │ │ ├── TipkrAPI.java │ │ │ └── TipkrService.java │ │ │ ├── provider │ │ │ ├── GenericFileProvider.java │ │ │ ├── IServerAuthenticator.java │ │ │ ├── MyServerAuthenticator.java │ │ │ └── PersistData.java │ │ │ ├── util │ │ │ ├── AccountUtils.java │ │ │ ├── ApiUtils.java │ │ │ ├── EndlessRecyclerViewScrollListener.java │ │ │ ├── LruBitmapCache.java │ │ │ └── StringUtils.java │ │ │ └── widgets │ │ │ ├── ClearableEditText.java │ │ │ ├── ProgressDialogAsync.java │ │ │ ├── SFImageViewRectangle.java │ │ │ ├── SFImageViewSquare.java │ │ │ ├── TextCursorOnImageView.java │ │ │ └── TouchImageView.java │ └── treeutil │ │ ├── ArrowExpandSelectableHeaderHolder.java │ │ ├── MyObject.java │ │ ├── Node.java │ │ ├── Tree.java │ │ └── TreeHolder.java │ └── res │ ├── anim │ ├── activity_close_enter.xml │ ├── activity_close_exit.xml │ ├── activity_open_enter.xml │ └── activity_open_exit.xml │ ├── drawable-anydpi │ ├── ic_back.xml │ ├── ic_left.xml │ └── ic_right.xml │ ├── drawable-hdpi │ ├── ic_action_redo.png │ ├── ic_action_undo.png │ ├── ic_back.png │ ├── ic_bunch.png │ ├── ic_format_bold.png │ ├── ic_format_bullet.png │ ├── ic_format_clear.png │ ├── ic_format_italic.png │ ├── ic_format_quote.png │ ├── ic_format_strikethrough.png │ ├── ic_format_underline.png │ ├── ic_insert_link.png │ ├── ic_left.png │ ├── ic_right.png │ ├── ic_taxonomy_icon.png │ └── juggling_transparent.png │ ├── drawable-mdpi │ ├── ic_action_redo.png │ ├── ic_action_undo.png │ ├── ic_back.png │ ├── ic_bunch.png │ ├── ic_format_bold.png │ ├── ic_format_bullet.png │ ├── ic_format_clear.png │ ├── ic_format_italic.png │ ├── ic_format_quote.png │ ├── ic_format_strikethrough.png │ ├── ic_format_underline.png │ ├── ic_insert_link.png │ ├── ic_left.png │ ├── ic_right.png │ ├── ic_taxonomy_icon.png │ └── juggling_transparent.png │ ├── drawable-nodpi │ ├── appwidget_preview.png │ ├── example_appwidget_preview.png │ └── marker2.png │ ├── drawable-v24 │ └── ic_launcher_foreground.xml │ ├── drawable-xhdpi │ ├── ic_action_redo.png │ ├── ic_action_undo.png │ ├── ic_back.png │ ├── ic_bunch.png │ ├── ic_format_bold.png │ ├── ic_format_bullet.png │ ├── ic_format_clear.png │ ├── ic_format_italic.png │ ├── ic_format_quote.png │ ├── ic_format_strikethrough.png │ ├── ic_format_underline.png │ ├── ic_insert_link.png │ ├── ic_left.png │ ├── ic_right.png │ ├── ic_taxonomy_icon.png │ └── juggling_transparent.png │ ├── drawable-xxhdpi │ ├── ic_action_redo.png │ ├── ic_action_undo.png │ ├── ic_back.png │ ├── ic_bunch.png │ ├── ic_format_bold.png │ ├── ic_format_bullet.png │ ├── ic_format_clear.png │ ├── ic_format_italic.png │ ├── ic_format_quote.png │ ├── ic_format_strikethrough.png │ ├── ic_format_underline.png │ ├── ic_insert_link.png │ ├── ic_left.png │ ├── ic_right.png │ ├── ic_taxonomy_icon.png │ └── juggling_transparent.png │ ├── drawable-xxxhdpi │ ├── ic_action_redo.png │ ├── ic_action_undo.png │ ├── ic_bunch.png │ ├── ic_format_bold.png │ ├── ic_format_bullet.png │ ├── ic_format_clear.png │ ├── ic_format_italic.png │ ├── ic_format_quote.png │ ├── ic_format_strikethrough.png │ ├── ic_format_underline.png │ ├── ic_insert_link.png │ ├── ic_taxonomy_icon.png │ └── juggling_transparent.png │ ├── drawable │ ├── bg_one_drupal.xml │ ├── bg_one_drupal_bottom.xml │ ├── bg_white_rectangle.xml │ ├── bottomborder.xml │ ├── breadcumbtn.xml │ ├── button_selector_dialog.xml │ ├── cursor_drawable_white.xml │ ├── ic_arrow_back.xml │ ├── ic_baseline_settings_applications.xml │ ├── ic_launcher_background.xml │ ├── ic_launcher_foreground.xml │ ├── ic_photo.xml │ ├── ic_post.xml │ ├── profile_pic.png │ └── toolbar_shadow.xml │ ├── font │ ├── sf_medium.ttf │ ├── sf_regular.ttf │ └── sf_thin.ttf │ ├── layout │ ├── activity_dashboard.xml │ ├── activity_fan_posts_details.xml │ ├── activity_featured_sites.xml │ ├── activity_main.xml │ ├── activity_post.xml │ ├── activity_shared_data_receiver.xml │ ├── activity_site_content_tabs.xml │ ├── activity_site_login.xml │ ├── activity_splash.xml │ ├── activity_taxonomy_browser.xml │ ├── activity_view_image.xml │ ├── breadcum_list.xml │ ├── content_taxonomy_browser.xml │ ├── custom_marker_view.xml │ ├── dialog_link.xml │ ├── frag_simple_bar.xml │ ├── fragment_ad_home.xml │ ├── fragment_ad_post_detail.xml │ ├── fragment_ad_redsox.xml │ ├── fragment_demo.xml │ ├── fragment_images_grid.xml │ ├── fragment_site_content_tabs.xml │ ├── fragment_taxonomy_browser.xml │ ├── fw_general_progress.xml │ ├── fw_toolbar.xml │ ├── layout_node.xml │ ├── list_item_barchart.xml │ ├── navigation_header.xml │ ├── row_autocomplete.xml │ ├── row_fan_posts.xml │ ├── row_gallery.xml │ ├── row_pager_image.xml │ ├── row_progress.xml │ ├── row_site.xml │ ├── row_teaser_term_item.xml │ ├── slider_input_control_widget.xml │ ├── slider_input_control_widget_configure.xml │ └── user.xml │ ├── menu │ ├── drawer_view.xml │ ├── menu_main.xml │ ├── menu_site_content_tabs.xml │ └── menu_taxonomy_browser.xml │ ├── mipmap-anydpi-v26 │ ├── ic_launcher.xml │ └── ic_launcher_round.xml │ ├── mipmap-hdpi │ ├── ic_launcher.png │ ├── ic_launcher_foreground.png │ └── ic_launcher_round.png │ ├── mipmap-mdpi │ ├── ic_launcher.png │ ├── ic_launcher_foreground.png │ └── ic_launcher_round.png │ ├── mipmap-xhdpi │ ├── ic_launcher.png │ ├── ic_launcher_foreground.png │ └── ic_launcher_round.png │ ├── mipmap-xxhdpi │ ├── ic_launcher.png │ ├── ic_launcher_foreground.png │ └── ic_launcher_round.png │ ├── mipmap-xxxhdpi │ ├── ic_launcher.png │ ├── ic_launcher_foreground.png │ └── ic_launcher_round.png │ ├── values-v14 │ └── dimens.xml │ ├── values-w820dp │ └── dimens.xml │ ├── values │ ├── colors.xml │ ├── dimens.xml │ ├── ic_launcher_background.xml │ ├── strings.xml │ └── styles.xml │ └── xml │ ├── authenticator.xml │ ├── provider_paths.xml │ └── slider_input_control_widget_info.xml ├── build.gradle ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── screenshots ├── Screenshot_20190328-203100.png ├── Screenshot_20190328-203323.png ├── Screenshot_20190328-203507.png ├── Screenshot_20190328-203529.png ├── Screenshot_20190328-203635.png ├── blog_screen1_google_signin.png ├── blog_screen2_signout_auto_disappear.png ├── blog_screen3_dashboard_posts_list.png └── blog_screen4_form_post_blog.png └── settings.gradle /.gitignore: -------------------------------------------------------------------------------- 1 | app/release/ 2 | app/google-services.json 3 | 4 | # Built application files 5 | *.apk 6 | *.ap_ 7 | *.aab 8 | 9 | # Files for the ART/Dalvik VM 10 | *.dex 11 | 12 | # Java class files 13 | *.class 14 | 15 | # Generated files 16 | bin/ 17 | gen/ 18 | out/ 19 | 20 | # Gradle files 21 | .gradle/ 22 | build/ 23 | 24 | # Local configuration file (sdk path, etc) 25 | local.properties 26 | keystore.properties 27 | apikey.properties 28 | 29 | # Proguard folder generated by Eclipse 30 | proguard/ 31 | 32 | # Log Files 33 | *.log 34 | 35 | # Android Studio Navigation editor temp files 36 | .navigation/ 37 | 38 | # Android Studio captures folder 39 | captures/ 40 | 41 | # IntelliJ 42 | *.iml 43 | .idea/workspace.xml 44 | .idea/tasks.xml 45 | .idea/gradle.xml 46 | .idea/assetWizardSettings.xml 47 | .idea/dictionaries 48 | .idea/libraries 49 | .idea/caches 50 | # Android Studio 3 in .gitignore file. 51 | .idea/caches/build_file_checksums.ser 52 | .idea/modules.xml 53 | 54 | # Keystore files 55 | # Uncomment the following lines if you do not want to check your keystore files in. 56 | *.jks 57 | *.keystore 58 | 59 | # External native build folder generated in Android Studio 2.2 and later 60 | .externalNativeBuild 61 | 62 | # Google Services (e.g. APIs or Firebase) 63 | # google-services.json 64 | 65 | # Freeline 66 | freeline.py 67 | freeline/ 68 | freeline_project_description.json 69 | 70 | # fastlane 71 | fastlane/report.xml 72 | fastlane/Preview.html 73 | fastlane/screenshots 74 | fastlane/test_output 75 | fastlane/readme.md 76 | 77 | # Version control 78 | vcs.xml 79 | 80 | # lint 81 | lint/intermediates/ 82 | lint/generated/ 83 | lint/outputs/ 84 | lint/tmp/ 85 | # lint/reports/ 86 | -------------------------------------------------------------------------------- /.idea/codeStyles/Project.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 15 | 16 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /.idea/copyright/javatechnikh.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | -------------------------------------------------------------------------------- /.idea/copyright/profiles_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 9 | 10 | -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 17 | 27 | 28 | 29 | 30 | 31 | 32 | 34 | -------------------------------------------------------------------------------- /.idea/runConfigurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # One Drupal – Content Builder - Android 2 | Get it on Google Play 3 | 4 | To manage your Drupal site through this app, You need to install https://www.drupal.org/project/one_api module in your Drupal 8 Site 5 | 6 | ## Features 7 | * Login, 8 | * Create & edit nodes, 9 | * Upload images, 10 | * Publish, Unpublish, 11 | * Promote to front page, remove from front page(Demote), 12 | * API paging - lazy load - scroll up to pull new content - scroll down to pull more content.... 13 |
14 | 15 | ## Fields 16 | * Node title 17 | * Text (formatted, long) 18 | * Image 19 | * Link 20 | * Video Embed 21 |
22 | 23 | ## Contribution 24 | * GNU AFFERO GENERAL PUBLIC LICENSE 25 | * Copyright and license notices must be preserved. 26 | * When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available. 27 | 28 | ## Building 29 | create a file in the root directory with below data 30 | 31 | `google_auth_client_id="0000000.apps.googleusercontent.com"` 32 | 33 | `demo_site_url="one-drupal-demo.technikh.com"` 34 | 35 | `demo_site_username="000"` 36 | 37 | `demo_site_password="000"` 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /app/Blog.jks: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/Blog.jks -------------------------------------------------------------------------------- /app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile 22 | -------------------------------------------------------------------------------- /app/src/main/assets/OpenSans-Light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/assets/OpenSans-Light.ttf -------------------------------------------------------------------------------- /app/src/main/assets/fonts/material-icon-font.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/assets/fonts/material-icon-font.ttf -------------------------------------------------------------------------------- /app/src/main/java/com/technikh/onedrupal/activities/ActivitySplash.java: -------------------------------------------------------------------------------- 1 | package com.technikh.onedrupal.activities; 2 | 3 | /* 4 | * Copyright (c) 2019. Nikhil Dubbaka from TechNikh.com under GNU AFFERO GENERAL PUBLIC LICENSE 5 | * Copyright and license notices must be preserved. 6 | * When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available. 7 | */ 8 | 9 | import android.content.Intent; 10 | import android.os.Bundle; 11 | import android.os.Handler; 12 | 13 | import com.technikh.onedrupal.R; 14 | 15 | public class ActivitySplash extends ActivityBase { 16 | 17 | @Override 18 | protected void onCreate(Bundle savedInstanceState) { 19 | super.onCreate(savedInstanceState); 20 | setContentView(R.layout.activity_splash); 21 | 22 | final Handler handler = new Handler(); 23 | handler.postDelayed(new Runnable() { 24 | @Override 25 | public void run() { 26 | //if (true) { 27 | if (sessionManager.isLoggedIn()) { 28 | startActivity(new Intent(context, SiteContentTabsActivity.class)); 29 | finish(); 30 | } else { 31 | startActivity(new Intent(context, ActivityAuthentication.class)); 32 | finish(); 33 | } 34 | } 35 | }, 1000); 36 | } 37 | } -------------------------------------------------------------------------------- /app/src/main/java/com/technikh/onedrupal/adapter/BreadcumAdapter.java: -------------------------------------------------------------------------------- 1 | package com.technikh.onedrupal.adapter; 2 | 3 | 4 | import android.view.LayoutInflater; 5 | import android.view.View; 6 | import android.view.ViewGroup; 7 | import android.widget.TextView; 8 | import com.technikh.onedrupal.R; 9 | import com.technikh.onedrupal.models.BreadcumModel; 10 | 11 | import java.util.ArrayList; 12 | import java.util.List; 13 | 14 | import androidx.recyclerview.widget.RecyclerView; 15 | 16 | 17 | public class BreadcumAdapter extends RecyclerView.Adapter { 18 | 19 | private buttonEventListenr buttonEventListenr; 20 | private List itemList; 21 | 22 | 23 | public interface buttonEventListenr { 24 | 25 | void buttonEvent(int position,String SiteTitle,String titleid,String vocabularyid); 26 | 27 | } 28 | 29 | public BreadcumAdapter(ListitemList , buttonEventListenr listner) { 30 | this.itemList = itemList; 31 | this.buttonEventListenr = listner; 32 | } 33 | 34 | @Override 35 | public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { 36 | 37 | View itemView = LayoutInflater.from(parent.getContext()) 38 | .inflate(R.layout.breadcum_list, parent, false); 39 | 40 | return new MyViewHolder(itemView); 41 | } 42 | 43 | @Override 44 | public void onBindViewHolder(MyViewHolder holder, int position) { 45 | 46 | if (itemList.get(position).getXYZ() == null){ 47 | 48 | holder.title.setText(itemList.get(position).getVocabId()); 49 | 50 | }else{ 51 | 52 | holder.title.setText(itemList.get(position).getXYZ()); 53 | } 54 | 55 | 56 | holder.title.setOnClickListener(new View.OnClickListener() { 57 | public void onClick(View v) { 58 | 59 | buttonEventListenr.buttonEvent(position,itemList.get(position).getXYZ(), itemList.get(position).getTitleId(),itemList.get(position).getVocabId()); 60 | 61 | } 62 | }); 63 | 64 | } 65 | 66 | public class MyViewHolder extends RecyclerView.ViewHolder { 67 | 68 | public TextView title; 69 | 70 | public MyViewHolder(View view) { 71 | super(view); 72 | title = (TextView) view.findViewById(R.id.item); 73 | } 74 | } 75 | 76 | @Override 77 | public int getItemCount() { 78 | return itemList.size(); 79 | } 80 | } -------------------------------------------------------------------------------- /app/src/main/java/com/technikh/onedrupal/authenticator/AuthPreferences.java: -------------------------------------------------------------------------------- 1 | package com.technikh.onedrupal.authenticator; 2 | 3 | /* 4 | * Copyright (c) 2019. Nikhil Dubbaka from TechNikh.com under GNU AFFERO GENERAL PUBLIC LICENSE 5 | * Copyright and license notices must be preserved. 6 | * When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available. 7 | */ 8 | 9 | import android.content.Context; 10 | import android.content.SharedPreferences; 11 | import android.content.SharedPreferences.Editor; 12 | import android.util.Log; 13 | 14 | public class AuthPreferences { 15 | 16 | private static final String PREFS_NAME = "auth"; 17 | private static final String KEY_ACCOUNT_NAME = "account_name"; 18 | private static final String KEY_AUTH_TOKEN = "auth_token"; 19 | private static final String KEY_PRI_SITE_URL = "primary_site_url"; 20 | private static final String KEY_PRI_SITE_PROTOCOL = "primary_site_protocol"; 21 | private String TAG = "AuthPreferences"; 22 | 23 | private SharedPreferences preferences; 24 | 25 | public AuthPreferences(Context context) { 26 | preferences = context.getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE); 27 | } 28 | 29 | public String getAccountName() { 30 | return preferences.getString(KEY_ACCOUNT_NAME, null); 31 | } 32 | 33 | public String getPrimarySiteUrl() { 34 | Log.d(TAG, "getPrimarySiteUrl: "+preferences.getString(KEY_PRI_SITE_URL, null)); 35 | return preferences.getString(KEY_PRI_SITE_URL, null); 36 | } 37 | public String getPrimarySiteProtocol() { 38 | return preferences.getString(KEY_PRI_SITE_PROTOCOL, null); 39 | } 40 | 41 | public String getAuthToken() { 42 | return preferences.getString(KEY_AUTH_TOKEN, null); 43 | } 44 | 45 | public void setUsername(String accountName) { 46 | final Editor editor = preferences.edit(); 47 | editor.putString(KEY_ACCOUNT_NAME, accountName); 48 | editor.commit(); 49 | } 50 | 51 | public void setPrimarySiteUrl(String accountName) { 52 | final Editor editor = preferences.edit(); 53 | editor.putString(KEY_PRI_SITE_URL, accountName); 54 | editor.commit(); 55 | } 56 | public void setPrimarySiteProtocol(String accountName) { 57 | final Editor editor = preferences.edit(); 58 | editor.putString(KEY_PRI_SITE_PROTOCOL, accountName); 59 | editor.commit(); 60 | } 61 | 62 | public void setAuthToken(String authToken) { 63 | final Editor editor = preferences.edit(); 64 | editor.putString(KEY_AUTH_TOKEN, authToken); 65 | editor.commit(); 66 | } 67 | 68 | } 69 | -------------------------------------------------------------------------------- /app/src/main/java/com/technikh/onedrupal/authenticator/AuthenticatorService.java: -------------------------------------------------------------------------------- 1 | package com.technikh.onedrupal.authenticator; 2 | 3 | /* 4 | * Copyright (c) 2019. Nikhil Dubbaka from TechNikh.com under GNU AFFERO GENERAL PUBLIC LICENSE 5 | * Copyright and license notices must be preserved. 6 | * When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available. 7 | */ 8 | 9 | import android.app.Service; 10 | import android.content.Intent; 11 | import android.os.IBinder; 12 | 13 | public class AuthenticatorService extends Service { 14 | 15 | private static AccountAuthenticator sAccountAuthenticator; 16 | 17 | @Override 18 | public IBinder onBind(Intent intent) { 19 | IBinder binder = null; 20 | if (intent.getAction().equals(android.accounts.AccountManager.ACTION_AUTHENTICATOR_INTENT)) { 21 | binder = getAuthenticator().getIBinder(); 22 | } 23 | return binder; 24 | } 25 | 26 | private AccountAuthenticator getAuthenticator() { 27 | if (null == AuthenticatorService.sAccountAuthenticator) { 28 | AuthenticatorService.sAccountAuthenticator = new AccountAuthenticator(this); 29 | } 30 | return AuthenticatorService.sAccountAuthenticator; 31 | } 32 | 33 | } 34 | -------------------------------------------------------------------------------- /app/src/main/java/com/technikh/onedrupal/controller/AppController.java: -------------------------------------------------------------------------------- 1 | package com.technikh.onedrupal.controller; 2 | 3 | /* 4 | * Copyright (c) 2019. Nikhil Dubbaka from TechNikh.com under GNU AFFERO GENERAL PUBLIC LICENSE 5 | * Copyright and license notices must be preserved. 6 | * When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available. 7 | */ 8 | 9 | import android.app.Application; 10 | import android.text.TextUtils; 11 | 12 | import com.android.volley.Request; 13 | import com.android.volley.RequestQueue; 14 | import com.android.volley.toolbox.ImageLoader; 15 | import com.android.volley.toolbox.Volley; 16 | import com.technikh.onedrupal.util.LruBitmapCache; 17 | 18 | public class AppController extends Application { 19 | 20 | public static final String TAG = AppController.class.getSimpleName(); 21 | 22 | private RequestQueue mRequestQueue; 23 | private ImageLoader mImageLoader; 24 | 25 | private static AppController mInstance; 26 | 27 | @Override 28 | public void onCreate() { 29 | super.onCreate(); 30 | mInstance = this; 31 | } 32 | 33 | public static synchronized AppController getInstance() { 34 | return mInstance; 35 | } 36 | 37 | public RequestQueue getRequestQueue() { 38 | if (mRequestQueue == null) { 39 | mRequestQueue = Volley.newRequestQueue(getApplicationContext()); 40 | } 41 | 42 | return mRequestQueue; 43 | } 44 | 45 | public ImageLoader getImageLoader() { 46 | getRequestQueue(); 47 | if (mImageLoader == null) { 48 | mImageLoader = new ImageLoader(this.mRequestQueue, 49 | new LruBitmapCache()); 50 | } 51 | return this.mImageLoader; 52 | } 53 | 54 | public void addToRequestQueue(Request req, String tag) { 55 | // set the default tag if tag is empty 56 | req.setTag(TextUtils.isEmpty(tag) ? TAG : tag); 57 | getRequestQueue().add(req); 58 | } 59 | 60 | public void addToRequestQueue(Request req) { 61 | req.setTag(TAG); 62 | getRequestQueue().add(req); 63 | } 64 | 65 | public void cancelPendingRequests(Object tag) { 66 | if (mRequestQueue != null) { 67 | mRequestQueue.cancelAll(tag); 68 | } 69 | } 70 | } -------------------------------------------------------------------------------- /app/src/main/java/com/technikh/onedrupal/custom/DayAxisValueFormatter.java: -------------------------------------------------------------------------------- 1 | package com.technikh.onedrupal.custom; 2 | 3 | /* 4 | * Copyright (c) 2019. Nikhil Dubbaka from TechNikh.com under GNU AFFERO GENERAL PUBLIC LICENSE 5 | * Copyright and license notices must be preserved. 6 | * When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available. 7 | */ 8 | 9 | import com.github.mikephil.charting.charts.BarLineChartBase; 10 | import com.github.mikephil.charting.formatter.ValueFormatter; 11 | 12 | import java.text.SimpleDateFormat; 13 | import java.util.Date; 14 | 15 | /** 16 | * Created by philipp on 02/06/16. 17 | */ 18 | public class DayAxisValueFormatter extends ValueFormatter 19 | { 20 | 21 | private final BarLineChartBase chart; 22 | 23 | public DayAxisValueFormatter(BarLineChartBase chart) { 24 | this.chart = chart; 25 | } 26 | 27 | @Override 28 | public String getFormattedValue(float timeStamp) { 29 | if(false) 30 | return timeStamp+" hello"; 31 | Date time=new Date((long)timeStamp*1000); 32 | 33 | if (chart.getVisibleXRange() > 30 * 6) { 34 | SimpleDateFormat simpleDate = new SimpleDateFormat("dd HH:mm"); 35 | return simpleDate.format(time); 36 | } else { 37 | SimpleDateFormat simpleDate = new SimpleDateFormat("HH:mm"); 38 | return simpleDate.format(time); 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /app/src/main/java/com/technikh/onedrupal/custom/MyMarkerView.java: -------------------------------------------------------------------------------- 1 | 2 | package com.technikh.onedrupal.custom; 3 | 4 | import android.annotation.SuppressLint; 5 | import android.content.Context; 6 | import android.widget.TextView; 7 | 8 | import com.github.mikephil.charting.components.MarkerView; 9 | import com.github.mikephil.charting.data.CandleEntry; 10 | import com.github.mikephil.charting.data.Entry; 11 | import com.github.mikephil.charting.highlight.Highlight; 12 | import com.github.mikephil.charting.utils.MPPointF; 13 | import com.github.mikephil.charting.utils.Utils; 14 | import com.technikh.onedrupal.R; 15 | 16 | /** 17 | * Custom implementation of the MarkerView. 18 | * 19 | * @author Philipp Jahoda 20 | */ 21 | @SuppressLint("ViewConstructor") 22 | public class MyMarkerView extends MarkerView { 23 | 24 | private final TextView tvContent; 25 | 26 | public MyMarkerView(Context context, int layoutResource) { 27 | super(context, layoutResource); 28 | 29 | tvContent = findViewById(R.id.tvContent); 30 | } 31 | 32 | // runs every time the MarkerView is redrawn, can be used to update the 33 | // content (user-interface) 34 | @Override 35 | public void refreshContent(Entry e, Highlight highlight) { 36 | 37 | if (e instanceof CandleEntry) { 38 | 39 | CandleEntry ce = (CandleEntry) e; 40 | 41 | tvContent.setText(Utils.formatNumber(ce.getHigh(), 0, true)); 42 | } else { 43 | 44 | tvContent.setText(Utils.formatNumber(e.getY(), 0, true)); 45 | } 46 | 47 | super.refreshContent(e, highlight); 48 | } 49 | 50 | @Override 51 | public MPPointF getOffset() { 52 | return new MPPointF(-(getWidth() / 2), -getHeight()); 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /app/src/main/java/com/technikh/onedrupal/fragments/FragmentADDemo.java: -------------------------------------------------------------------------------- 1 | package com.technikh.onedrupal.fragments; 2 | 3 | /* 4 | * Copyright (c) 2019. Nikhil Dubbaka from TechNikh.com under GNU AFFERO GENERAL PUBLIC LICENSE 5 | * Copyright and license notices must be preserved. 6 | * When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available. 7 | */ 8 | 9 | import android.os.Bundle; 10 | import androidx.annotation.NonNull; 11 | import androidx.annotation.Nullable; 12 | import android.view.LayoutInflater; 13 | import android.view.View; 14 | import android.view.ViewGroup; 15 | 16 | import com.technikh.onedrupal.R; 17 | 18 | public class FragmentADDemo extends FragmentBase { 19 | 20 | public static FragmentADDemo newInstance() { 21 | Bundle args = new Bundle(); 22 | FragmentADDemo fragment = new FragmentADDemo(); 23 | fragment.setArguments(args); 24 | return fragment; 25 | } 26 | 27 | @Nullable 28 | @Override 29 | public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { 30 | return inflater.inflate(R.layout.fragment_demo, container, false); 31 | } 32 | 33 | @Override 34 | public void onViewCreated(@NonNull View rootView, @Nullable Bundle savedInstanceState) { 35 | super.onViewCreated(rootView, savedInstanceState); 36 | } 37 | 38 | /* @Subscribe 39 | public void onEventMainThread(final EventsFromFragments eventsFromFragments) { 40 | 41 | }*/ 42 | } -------------------------------------------------------------------------------- /app/src/main/java/com/technikh/onedrupal/fragments/FragmentADPostDetails.java: -------------------------------------------------------------------------------- 1 | package com.technikh.onedrupal.fragments; 2 | 3 | /* 4 | * Copyright (c) 2019. Nikhil Dubbaka from TechNikh.com under GNU AFFERO GENERAL PUBLIC LICENSE 5 | * Copyright and license notices must be preserved. 6 | * When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available. 7 | */ 8 | 9 | import android.os.Bundle; 10 | import androidx.annotation.NonNull; 11 | import androidx.annotation.Nullable; 12 | import android.view.LayoutInflater; 13 | import android.view.View; 14 | import android.view.ViewGroup; 15 | 16 | import com.technikh.onedrupal.R; 17 | 18 | public class FragmentADPostDetails extends FragmentBase { 19 | 20 | public static FragmentADPostDetails newInstance() { 21 | Bundle args = new Bundle(); 22 | FragmentADPostDetails fragment = new FragmentADPostDetails(); 23 | fragment.setArguments(args); 24 | return fragment; 25 | } 26 | 27 | @Nullable 28 | @Override 29 | public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { 30 | return inflater.inflate(R.layout.fragment_demo, container, false); 31 | } 32 | 33 | @Override 34 | public void onViewCreated(@NonNull View rootView, @Nullable Bundle savedInstanceState) { 35 | super.onViewCreated(rootView, savedInstanceState); 36 | } 37 | 38 | /* @Subscribe 39 | public void onEventMainThread(final EventsFromFragments eventsFromFragments) { 40 | 41 | }*/ 42 | } -------------------------------------------------------------------------------- /app/src/main/java/com/technikh/onedrupal/helpers/Constants.java: -------------------------------------------------------------------------------- 1 | package com.technikh.onedrupal.helpers; 2 | 3 | /* 4 | * Copyright (c) 2019. Nikhil Dubbaka from TechNikh.com under GNU AFFERO GENERAL PUBLIC LICENSE 5 | * Copyright and license notices must be preserved. 6 | * When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available. 7 | */ 8 | 9 | public class Constants { 10 | 11 | public static final String PACKAGE_NAME = "com.technikh.onedrupal"; 12 | 13 | public static final String SUPPORT_MAIL = "info@technikh.com"; 14 | 15 | } -------------------------------------------------------------------------------- /app/src/main/java/com/technikh/onedrupal/helpers/PDTinyDBKeys.java: -------------------------------------------------------------------------------- 1 | package com.technikh.onedrupal.helpers; 2 | 3 | /* 4 | * Copyright (c) 2019. Nikhil Dubbaka from TechNikh.com under GNU AFFERO GENERAL PUBLIC LICENSE 5 | * Copyright and license notices must be preserved. 6 | * When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available. 7 | */ 8 | 9 | public class PDTinyDBKeys { 10 | 11 | public static final String JSONARRAY_SEARCH = "JSONARRAY_SEARCH"; 12 | public static final String DATA_LAST_UPDATE_CHECK = "DATA_LAST_UPDATE_CHECK"; 13 | } -------------------------------------------------------------------------------- /app/src/main/java/com/technikh/onedrupal/listviewitems/ChartItem.java: -------------------------------------------------------------------------------- 1 | package com.technikh.onedrupal.listviewitems; 2 | 3 | import android.content.Context; 4 | import android.view.View; 5 | 6 | import com.github.mikephil.charting.data.ChartData; 7 | 8 | /** 9 | * Base class of the Chart ListView items 10 | * @author philipp 11 | * 12 | */ 13 | @SuppressWarnings("unused") 14 | public abstract class ChartItem { 15 | 16 | static final int TYPE_BARCHART = 0; 17 | static final int TYPE_LINECHART = 1; 18 | static final int TYPE_PIECHART = 2; 19 | 20 | ChartData mChartData; 21 | 22 | ChartItem(ChartData cd) { 23 | this.mChartData = cd; 24 | } 25 | 26 | public abstract int getItemType(); 27 | 28 | public abstract View getView(int position, View convertView, Context c); 29 | } 30 | -------------------------------------------------------------------------------- /app/src/main/java/com/technikh/onedrupal/models/BreadcumModel.java: -------------------------------------------------------------------------------- 1 | package com.technikh.onedrupal.models; 2 | 3 | 4 | public class BreadcumModel { 5 | 6 | public String title,VocabId,TitleId; 7 | 8 | 9 | public BreadcumModel(String title, String VocabId, String TitleId) { 10 | this.title = title; 11 | this.VocabId = VocabId; 12 | this.TitleId = TitleId; 13 | } 14 | 15 | public String getXYZ() { 16 | return title; 17 | } 18 | 19 | public void setXYZ(String t) { 20 | this.title = t; 21 | } 22 | 23 | public String getVocabId() { 24 | return VocabId; 25 | } 26 | 27 | public void setVocabId(String vocabid) { 28 | this.VocabId = vocabid; 29 | } 30 | 31 | public String getTitleId() { 32 | return TitleId; 33 | } 34 | 35 | public void setTitleId(String titleid) { 36 | this.TitleId = titleid; 37 | } 38 | } -------------------------------------------------------------------------------- /app/src/main/java/com/technikh/onedrupal/models/ChangedItem.java: -------------------------------------------------------------------------------- 1 | package com.technikh.onedrupal.models; 2 | 3 | /* 4 | * Copyright (c) 2019. Nikhil Dubbaka from TechNikh.com under GNU AFFERO GENERAL PUBLIC LICENSE 5 | * Copyright and license notices must be preserved. 6 | * When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available. 7 | */ 8 | 9 | import com.google.gson.annotations.SerializedName; 10 | 11 | 12 | public class ChangedItem{ 13 | 14 | @SerializedName("format") 15 | private String format; 16 | 17 | @SerializedName("value") 18 | private String value; 19 | 20 | public void setFormat(String format){ 21 | this.format = format; 22 | } 23 | 24 | public String getFormat(){ 25 | return format; 26 | } 27 | 28 | public void setValue(String value){ 29 | this.value = value; 30 | } 31 | 32 | public String getValue(){ 33 | return value; 34 | } 35 | 36 | @Override 37 | public String toString(){ 38 | return 39 | "ChangedItem{" + 40 | "format = '" + format + '\'' + 41 | ",value = '" + value + '\'' + 42 | "}"; 43 | } 44 | } -------------------------------------------------------------------------------- /app/src/main/java/com/technikh/onedrupal/models/ConstantData.java: -------------------------------------------------------------------------------- 1 | package com.technikh.onedrupal.models; 2 | 3 | /* 4 | * Copyright (c) 2019. Nikhil Dubbaka from TechNikh.com under GNU AFFERO GENERAL PUBLIC LICENSE 5 | * Copyright and license notices must be preserved. 6 | * When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available. 7 | */ 8 | 9 | public class ConstantData { 10 | 11 | public static String FULL_NAME="full_name"; 12 | public static String EMAIL="email"; 13 | public static String PROFILE_PICTURE="profile_picture"; 14 | } 15 | -------------------------------------------------------------------------------- /app/src/main/java/com/technikh/onedrupal/models/CreatedItem.java: -------------------------------------------------------------------------------- 1 | package com.technikh.onedrupal.models; 2 | 3 | 4 | /* 5 | * Copyright (c) 2019. Nikhil Dubbaka from TechNikh.com under GNU AFFERO GENERAL PUBLIC LICENSE 6 | * Copyright and license notices must be preserved. 7 | * When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available. 8 | */ 9 | 10 | import com.google.gson.annotations.SerializedName; 11 | 12 | public class CreatedItem{ 13 | 14 | @SerializedName("format") 15 | private String format; 16 | 17 | @SerializedName("value") 18 | private String value; 19 | 20 | public void setFormat(String format){ 21 | this.format = format; 22 | } 23 | 24 | public String getFormat(){ 25 | return format; 26 | } 27 | 28 | public void setValue(String value){ 29 | this.value = value; 30 | } 31 | 32 | public String getValue(){ 33 | return value; 34 | } 35 | 36 | @Override 37 | public String toString(){ 38 | return 39 | "CreatedItem{" + 40 | "format = '" + format + '\'' + 41 | ",value = '" + value + '\'' + 42 | "}"; 43 | } 44 | } -------------------------------------------------------------------------------- /app/src/main/java/com/technikh/onedrupal/models/FidItem.java: -------------------------------------------------------------------------------- 1 | package com.technikh.onedrupal.models; 2 | 3 | 4 | /* 5 | * Copyright (c) 2019. Nikhil Dubbaka from TechNikh.com under GNU AFFERO GENERAL PUBLIC LICENSE 6 | * Copyright and license notices must be preserved. 7 | * When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available. 8 | */ 9 | 10 | import com.google.gson.annotations.SerializedName; 11 | 12 | public class FidItem{ 13 | 14 | @SerializedName("value") 15 | private int value; 16 | 17 | public void setValue(int value){ 18 | this.value = value; 19 | } 20 | 21 | public int getValue(){ 22 | return value; 23 | } 24 | 25 | @Override 26 | public String toString(){ 27 | return 28 | "FidItem{" + 29 | "value = '" + value + '\'' + 30 | "}"; 31 | } 32 | } -------------------------------------------------------------------------------- /app/src/main/java/com/technikh/onedrupal/models/FilemimeItem.java: -------------------------------------------------------------------------------- 1 | package com.technikh.onedrupal.models; 2 | 3 | 4 | /* 5 | * Copyright (c) 2019. Nikhil Dubbaka from TechNikh.com under GNU AFFERO GENERAL PUBLIC LICENSE 6 | * Copyright and license notices must be preserved. 7 | * When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available. 8 | */ 9 | 10 | import com.google.gson.annotations.SerializedName; 11 | 12 | 13 | public class FilemimeItem{ 14 | 15 | @SerializedName("value") 16 | private String value; 17 | 18 | public void setValue(String value){ 19 | this.value = value; 20 | } 21 | 22 | public String getValue(){ 23 | return value; 24 | } 25 | 26 | @Override 27 | public String toString(){ 28 | return 29 | "FilemimeItem{" + 30 | "value = '" + value + '\'' + 31 | "}"; 32 | } 33 | } -------------------------------------------------------------------------------- /app/src/main/java/com/technikh/onedrupal/models/FilenameItem.java: -------------------------------------------------------------------------------- 1 | package com.technikh.onedrupal.models; 2 | 3 | 4 | /* 5 | * Copyright (c) 2019. Nikhil Dubbaka from TechNikh.com under GNU AFFERO GENERAL PUBLIC LICENSE 6 | * Copyright and license notices must be preserved. 7 | * When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available. 8 | */ 9 | 10 | import com.google.gson.annotations.SerializedName; 11 | 12 | 13 | public class FilenameItem{ 14 | 15 | @SerializedName("value") 16 | private String value; 17 | 18 | public void setValue(String value){ 19 | this.value = value; 20 | } 21 | 22 | public String getValue(){ 23 | return value; 24 | } 25 | 26 | @Override 27 | public String toString(){ 28 | return 29 | "FilenameItem{" + 30 | "value = '" + value + '\'' + 31 | "}"; 32 | } 33 | } -------------------------------------------------------------------------------- /app/src/main/java/com/technikh/onedrupal/models/FilesizeItem.java: -------------------------------------------------------------------------------- 1 | package com.technikh.onedrupal.models; 2 | 3 | /* 4 | * Copyright (c) 2019. Nikhil Dubbaka from TechNikh.com under GNU AFFERO GENERAL PUBLIC LICENSE 5 | * Copyright and license notices must be preserved. 6 | * When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available. 7 | */ 8 | 9 | import com.google.gson.annotations.SerializedName; 10 | 11 | public class FilesizeItem{ 12 | 13 | @SerializedName("value") 14 | private int value; 15 | 16 | public void setValue(int value){ 17 | this.value = value; 18 | } 19 | 20 | public int getValue(){ 21 | return value; 22 | } 23 | 24 | @Override 25 | public String toString(){ 26 | return 27 | "FilesizeItem{" + 28 | "value = '" + value + '\'' + 29 | "}"; 30 | } 31 | } -------------------------------------------------------------------------------- /app/src/main/java/com/technikh/onedrupal/models/LangcodeItem.java: -------------------------------------------------------------------------------- 1 | package com.technikh.onedrupal.models; 2 | 3 | /* 4 | * Copyright (c) 2019. Nikhil Dubbaka from TechNikh.com under GNU AFFERO GENERAL PUBLIC LICENSE 5 | * Copyright and license notices must be preserved. 6 | * When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available. 7 | */ 8 | 9 | import com.google.gson.annotations.SerializedName; 10 | 11 | public class LangcodeItem{ 12 | 13 | @SerializedName("value") 14 | private String value; 15 | 16 | public void setValue(String value){ 17 | this.value = value; 18 | } 19 | 20 | public String getValue(){ 21 | return value; 22 | } 23 | 24 | @Override 25 | public String toString(){ 26 | return 27 | "LangcodeItem{" + 28 | "value = '" + value + '\'' + 29 | "}"; 30 | } 31 | } -------------------------------------------------------------------------------- /app/src/main/java/com/technikh/onedrupal/models/NodeSimpleFields.java: -------------------------------------------------------------------------------- 1 | package com.technikh.onedrupal.models; 2 | 3 | /* 4 | * Copyright (c) 2019. Nikhil Dubbaka from TechNikh.com under GNU AFFERO GENERAL PUBLIC LICENSE 5 | * Copyright and license notices must be preserved. 6 | * When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available. 7 | */ 8 | 9 | import com.google.gson.annotations.SerializedName; 10 | 11 | import org.json.JSONException; 12 | import org.json.JSONObject; 13 | 14 | /* 15 | { 16 | title: "75", 17 | term: "Weight", 18 | changed: "1559324599", 19 | created: "1559229053" 20 | } 21 | */ 22 | public class NodeSimpleFields { 23 | @SerializedName("title") 24 | public String title; 25 | @SerializedName("term") 26 | public String term; 27 | @SerializedName("changed") 28 | public long changed; 29 | @SerializedName("created") 30 | public long created; 31 | 32 | public NodeSimpleFields(JSONObject jo) { 33 | try { 34 | title = jo.getString("title"); 35 | term = jo.getString("term"); 36 | changed = jo.getLong("created"); 37 | created = jo.getLong("created"); 38 | } catch (JSONException e) { 39 | e.printStackTrace(); 40 | } 41 | } 42 | } -------------------------------------------------------------------------------- /app/src/main/java/com/technikh/onedrupal/models/OneGlobalSettingsSectionModel.java: -------------------------------------------------------------------------------- 1 | package com.technikh.onedrupal.models; 2 | 3 | /* 4 | * Copyright (c) 2019. Nikhil Dubbaka from TechNikh.com under GNU AFFERO GENERAL PUBLIC LICENSE 5 | * Copyright and license notices must be preserved. 6 | * When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available. 7 | */ 8 | 9 | import com.google.gson.annotations.SerializedName; 10 | 11 | import java.util.ArrayList; 12 | 13 | public class OneGlobalSettingsSectionModel { 14 | 15 | @SerializedName("taxonomy_menu_vocabulary") 16 | public String taxonomy_menu_vocabulary=""; 17 | @SerializedName("taxonomy_explorer_vocabularies") 18 | public ArrayList taxonomy_explorer_vocabularies; 19 | } -------------------------------------------------------------------------------- /app/src/main/java/com/technikh/onedrupal/models/OneMultipleTermsItemModel.java: -------------------------------------------------------------------------------- 1 | package com.technikh.onedrupal.models; 2 | 3 | /* 4 | * Copyright (c) 2019. Nikhil Dubbaka from TechNikh.com under GNU AFFERO GENERAL PUBLIC LICENSE 5 | * Copyright and license notices must be preserved. 6 | * When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available. 7 | */ 8 | 9 | import com.google.gson.annotations.SerializedName; 10 | 11 | import java.util.ArrayList; 12 | 13 | public class OneMultipleTermsItemModel { 14 | 15 | @SerializedName("tags") 16 | public String tags; 17 | 18 | @SerializedName("vid") 19 | public String vid; 20 | 21 | @SerializedName("field_name") 22 | public String field_name; 23 | 24 | @SerializedName("terms") 25 | public ArrayList terms; 26 | } -------------------------------------------------------------------------------- /app/src/main/java/com/technikh/onedrupal/models/OneMultipleTermsItemTermModel.java: -------------------------------------------------------------------------------- 1 | package com.technikh.onedrupal.models; 2 | 3 | /* 4 | * Copyright (c) 2019. Nikhil Dubbaka from TechNikh.com under GNU AFFERO GENERAL PUBLIC LICENSE 5 | * Copyright and license notices must be preserved. 6 | * When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available. 7 | */ 8 | 9 | import com.google.gson.annotations.SerializedName; 10 | 11 | import java.util.ArrayList; 12 | 13 | public class OneMultipleTermsItemTermModel { 14 | 15 | @SerializedName("name") 16 | public String name; 17 | 18 | @SerializedName("tid") 19 | public String tid; 20 | 21 | @SerializedName("count") 22 | public String count; 23 | 24 | @SerializedName("parent") 25 | public String parent; 26 | 27 | @Override 28 | public String toString() { 29 | return name; 30 | 31 | } 32 | } -------------------------------------------------------------------------------- /app/src/main/java/com/technikh/onedrupal/models/OneMultipleTermsModel.java: -------------------------------------------------------------------------------- 1 | package com.technikh.onedrupal.models; 2 | 3 | /* 4 | * Copyright (c) 2019. Nikhil Dubbaka from TechNikh.com under GNU AFFERO GENERAL PUBLIC LICENSE 5 | * Copyright and license notices must be preserved. 6 | * When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available. 7 | */ 8 | 9 | import com.google.gson.annotations.SerializedName; 10 | 11 | import java.util.ArrayList; 12 | 13 | public class OneMultipleTermsModel { 14 | 15 | @SerializedName("items") 16 | public ArrayList items; 17 | } -------------------------------------------------------------------------------- /app/src/main/java/com/technikh/onedrupal/models/SettingsTypeList.java: -------------------------------------------------------------------------------- 1 | package com.technikh.onedrupal.models; 2 | 3 | /* 4 | * Copyright (c) 2019. Nikhil Dubbaka from TechNikh.com under GNU AFFERO GENERAL PUBLIC LICENSE 5 | * Copyright and license notices must be preserved. 6 | * When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available. 7 | */ 8 | 9 | import com.google.gson.annotations.SerializedName; 10 | 11 | import java.util.ArrayList; 12 | 13 | public class SettingsTypeList { 14 | @SerializedName("types") 15 | private ArrayList typesList; 16 | 17 | @SerializedName("settings") 18 | private OneGlobalSettingsSectionModel settings; 19 | 20 | public ArrayList getTypesArrayList() { 21 | return typesList; 22 | } 23 | 24 | public OneGlobalSettingsSectionModel getSettingsSection() { 25 | return settings; 26 | } 27 | 28 | public void setTypesArrayList(ArrayList siteArrayList) { 29 | this.typesList = siteArrayList; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /app/src/main/java/com/technikh/onedrupal/models/Site.java: -------------------------------------------------------------------------------- 1 | package com.technikh.onedrupal.models; 2 | 3 | /* 4 | * Copyright (c) 2019. Nikhil Dubbaka from TechNikh.com under GNU AFFERO GENERAL PUBLIC LICENSE 5 | * Copyright and license notices must be preserved. 6 | * When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available. 7 | */ 8 | 9 | import com.google.gson.annotations.SerializedName; 10 | 11 | public class Site { 12 | @SerializedName("protocol") 13 | private String mProtocol; 14 | @SerializedName("domain") 15 | private String mDomain; 16 | @SerializedName("title") 17 | private String mTitle; 18 | 19 | public Site(String protocol, String domain, String title) { 20 | this.mProtocol = protocol; 21 | this.mDomain = domain; 22 | this.mTitle = title; 23 | } 24 | 25 | public String getProtocol() { 26 | return mProtocol; 27 | } 28 | 29 | public void setProtocol(String name) { 30 | this.mProtocol = name; 31 | } 32 | 33 | public String getDomain() { 34 | return mDomain; 35 | } 36 | 37 | public String getTitle() { 38 | return mTitle; 39 | } 40 | 41 | public void setDomain(String email) { 42 | this.mDomain = email; 43 | } 44 | } -------------------------------------------------------------------------------- /app/src/main/java/com/technikh/onedrupal/models/SiteList.java: -------------------------------------------------------------------------------- 1 | package com.technikh.onedrupal.models; 2 | 3 | /* 4 | * Copyright (c) 2019. Nikhil Dubbaka from TechNikh.com under GNU AFFERO GENERAL PUBLIC LICENSE 5 | * Copyright and license notices must be preserved. 6 | * When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available. 7 | */ 8 | 9 | import com.google.gson.annotations.SerializedName; 10 | 11 | import java.util.ArrayList; 12 | 13 | public class SiteList { 14 | @SerializedName("siteList") 15 | private ArrayList siteList; 16 | 17 | public ArrayList getEmployeeArrayList() { 18 | return siteList; 19 | } 20 | 21 | public void setEmployeeArrayList(ArrayList siteArrayList) { 22 | this.siteList = siteArrayList; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /app/src/main/java/com/technikh/onedrupal/models/StatusItem.java: -------------------------------------------------------------------------------- 1 | package com.technikh.onedrupal.models; 2 | 3 | /* 4 | * Copyright (c) 2019. Nikhil Dubbaka from TechNikh.com under GNU AFFERO GENERAL PUBLIC LICENSE 5 | * Copyright and license notices must be preserved. 6 | * When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available. 7 | */ 8 | 9 | import com.google.gson.annotations.SerializedName; 10 | 11 | public class StatusItem{ 12 | 13 | @SerializedName("value") 14 | private boolean value; 15 | 16 | public void setValue(boolean value){ 17 | this.value = value; 18 | } 19 | 20 | public boolean isValue(){ 21 | return value; 22 | } 23 | 24 | @Override 25 | public String toString(){ 26 | return 27 | "StatusItem{" + 28 | "value = '" + value + '\'' + 29 | "}"; 30 | } 31 | } -------------------------------------------------------------------------------- /app/src/main/java/com/technikh/onedrupal/models/TaxonomyTermModel.java: -------------------------------------------------------------------------------- 1 | package com.technikh.onedrupal.models; 2 | 3 | /* 4 | * Copyright (c) 2019. Nikhil Dubbaka from TechNikh.com under GNU AFFERO GENERAL PUBLIC LICENSE 5 | * Copyright and license notices must be preserved. 6 | * When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available. 7 | */ 8 | 9 | import com.google.gson.annotations.SerializedName; 10 | 11 | import org.json.JSONException; 12 | import org.json.JSONObject; 13 | 14 | import java.util.ArrayList; 15 | 16 | public class TaxonomyTermModel { 17 | public String name, vid; 18 | public int tid; 19 | 20 | public TaxonomyTermModel(JSONObject jo) { 21 | try { 22 | this.name = jo.getJSONArray("name").getJSONObject(0).getString("value"); 23 | this.tid = jo.getJSONArray("tid").getJSONObject(0).getInt("value"); 24 | this.vid = jo.getJSONArray("vid").getJSONObject(0).getString("target_id"); 25 | } catch (JSONException e) { 26 | e.printStackTrace(); 27 | } 28 | } 29 | } -------------------------------------------------------------------------------- /app/src/main/java/com/technikh/onedrupal/models/TreeChild.java: -------------------------------------------------------------------------------- 1 | package com.technikh.onedrupal.models; 2 | 3 | /* 4 | * Copyright (c) 2019. Nikhil Dubbaka from TechNikh.com under GNU AFFERO GENERAL PUBLIC LICENSE 5 | * Copyright and license notices must be preserved. 6 | * When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available. 7 | */ 8 | 9 | import java.io.Serializable; 10 | 11 | public class TreeChild implements Serializable { 12 | String name; 13 | String id; 14 | String parentId; 15 | 16 | public String getName() { 17 | return name; 18 | } 19 | 20 | public String getId() { 21 | return id; 22 | } 23 | 24 | public void setId(String id) { 25 | this.id = id; 26 | } 27 | 28 | public void setName(String name) { 29 | this.name = name; 30 | } 31 | 32 | public String getParentId() { 33 | return parentId; 34 | } 35 | 36 | public void setParentId(String parentId) { 37 | this.parentId = parentId; 38 | } 39 | 40 | @Override 41 | public String toString() { 42 | return "name='" + name + ", parentId='" + parentId + '\n'; 43 | 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /app/src/main/java/com/technikh/onedrupal/models/UidItem.java: -------------------------------------------------------------------------------- 1 | package com.technikh.onedrupal.models; 2 | 3 | /* 4 | * Copyright (c) 2019. Nikhil Dubbaka from TechNikh.com under GNU AFFERO GENERAL PUBLIC LICENSE 5 | * Copyright and license notices must be preserved. 6 | * When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available. 7 | */ 8 | 9 | import com.google.gson.annotations.SerializedName; 10 | 11 | public class UidItem{ 12 | 13 | @SerializedName("target_type") 14 | private String targetType; 15 | 16 | @SerializedName("target_uuid") 17 | private String targetUuid; 18 | 19 | @SerializedName("target_id") 20 | private int targetId; 21 | 22 | @SerializedName("url") 23 | private String url; 24 | 25 | public void setTargetType(String targetType){ 26 | this.targetType = targetType; 27 | } 28 | 29 | public String getTargetType(){ 30 | return targetType; 31 | } 32 | 33 | public void setTargetUuid(String targetUuid){ 34 | this.targetUuid = targetUuid; 35 | } 36 | 37 | public String getTargetUuid(){ 38 | return targetUuid; 39 | } 40 | 41 | public void setTargetId(int targetId){ 42 | this.targetId = targetId; 43 | } 44 | 45 | public int getTargetId(){ 46 | return targetId; 47 | } 48 | 49 | public void setUrl(String url){ 50 | this.url = url; 51 | } 52 | 53 | public String getUrl(){ 54 | return url; 55 | } 56 | 57 | @Override 58 | public String toString(){ 59 | return 60 | "UidItem{" + 61 | "target_type = '" + targetType + '\'' + 62 | ",target_uuid = '" + targetUuid + '\'' + 63 | ",target_id = '" + targetId + '\'' + 64 | ",url = '" + url + '\'' + 65 | "}"; 66 | } 67 | } -------------------------------------------------------------------------------- /app/src/main/java/com/technikh/onedrupal/models/UriItem.java: -------------------------------------------------------------------------------- 1 | package com.technikh.onedrupal.models; 2 | 3 | /* 4 | * Copyright (c) 2019. Nikhil Dubbaka from TechNikh.com under GNU AFFERO GENERAL PUBLIC LICENSE 5 | * Copyright and license notices must be preserved. 6 | * When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available. 7 | */ 8 | 9 | import com.google.gson.annotations.SerializedName; 10 | 11 | public class UriItem{ 12 | 13 | @SerializedName("value") 14 | private String value; 15 | 16 | @SerializedName("url") 17 | private String url; 18 | 19 | public void setValue(String value){ 20 | this.value = value; 21 | } 22 | 23 | public String getValue(){ 24 | return value; 25 | } 26 | 27 | public void setUrl(String url){ 28 | this.url = url; 29 | } 30 | 31 | public String getUrl(){ 32 | return url; 33 | } 34 | 35 | @Override 36 | public String toString(){ 37 | return 38 | "UriItem{" + 39 | "value = '" + value + '\'' + 40 | ",url = '" + url + '\'' + 41 | "}"; 42 | } 43 | } -------------------------------------------------------------------------------- /app/src/main/java/com/technikh/onedrupal/models/UuidItem.java: -------------------------------------------------------------------------------- 1 | package com.technikh.onedrupal.models; 2 | 3 | /* 4 | * Copyright (c) 2019. Nikhil Dubbaka from TechNikh.com under GNU AFFERO GENERAL PUBLIC LICENSE 5 | * Copyright and license notices must be preserved. 6 | * When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available. 7 | */ 8 | 9 | import com.google.gson.annotations.SerializedName; 10 | 11 | public class UuidItem{ 12 | 13 | @SerializedName("value") 14 | private String value; 15 | 16 | public void setValue(String value){ 17 | this.value = value; 18 | } 19 | 20 | public String getValue(){ 21 | return value; 22 | } 23 | 24 | @Override 25 | public String toString(){ 26 | return 27 | "UuidItem{" + 28 | "value = '" + value + '\'' + 29 | "}"; 30 | } 31 | } -------------------------------------------------------------------------------- /app/src/main/java/com/technikh/onedrupal/models/VocabSimpleTerm.java: -------------------------------------------------------------------------------- 1 | package com.technikh.onedrupal.models; 2 | 3 | /* 4 | * Copyright (c) 2019. Nikhil Dubbaka from TechNikh.com under GNU AFFERO GENERAL PUBLIC LICENSE 5 | * Copyright and license notices must be preserved. 6 | * When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available. 7 | */ 8 | 9 | import com.google.gson.annotations.SerializedName; 10 | 11 | import java.util.ArrayList; 12 | 13 | /* 14 | { 15 | name: "Drupal 8", 16 | tid: "2" 17 | } 18 | */ 19 | public class VocabSimpleTerm { 20 | @SerializedName("name") 21 | public String name; 22 | @SerializedName("tid") 23 | public String tid; 24 | } -------------------------------------------------------------------------------- /app/src/main/java/com/technikh/onedrupal/models/VocabTerm.java: -------------------------------------------------------------------------------- 1 | package com.technikh.onedrupal.models; 2 | 3 | /* 4 | * Copyright (c) 2019. Nikhil Dubbaka from TechNikh.com under GNU AFFERO GENERAL PUBLIC LICENSE 5 | * Copyright and license notices must be preserved. 6 | * When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available. 7 | */ 8 | 9 | import android.util.Log; 10 | 11 | import com.google.gson.annotations.SerializedName; 12 | 13 | import java.util.ArrayList; 14 | 15 | public class VocabTerm { 16 | @SerializedName("name") 17 | public ArrayList name; 18 | @SerializedName("parent") 19 | public ArrayList parentTid; 20 | @SerializedName("vid") 21 | public ArrayList vocabularyId; 22 | @SerializedName("tid") 23 | public ArrayList tid; 24 | @SerializedName("uuid") 25 | public ArrayList uuid; 26 | } -------------------------------------------------------------------------------- /app/src/main/java/com/technikh/onedrupal/models/VocabTermsList.java: -------------------------------------------------------------------------------- 1 | package com.technikh.onedrupal.models; 2 | 3 | /* 4 | * Copyright (c) 2019. Nikhil Dubbaka from TechNikh.com under GNU AFFERO GENERAL PUBLIC LICENSE 5 | * Copyright and license notices must be preserved. 6 | * When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available. 7 | */ 8 | 9 | import com.google.gson.annotations.SerializedName; 10 | 11 | import java.util.ArrayList; 12 | 13 | public class VocabTermsList { 14 | @SerializedName("results") 15 | private ArrayList typesList; 16 | 17 | public ArrayList getTypesArrayList() { 18 | return typesList; 19 | } 20 | 21 | public void setTypesArrayList(ArrayList siteArrayList) { 22 | this.typesList = siteArrayList; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /app/src/main/java/com/technikh/onedrupal/models/VocabTermsSimpleList.java: -------------------------------------------------------------------------------- 1 | package com.technikh.onedrupal.models; 2 | 3 | /* 4 | * Copyright (c) 2019. Nikhil Dubbaka from TechNikh.com under GNU AFFERO GENERAL PUBLIC LICENSE 5 | * Copyright and license notices must be preserved. 6 | * When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available. 7 | */ 8 | 9 | import com.google.gson.annotations.SerializedName; 10 | 11 | import java.util.ArrayList; 12 | 13 | public class VocabTermsSimpleList { 14 | @SerializedName("results") 15 | private ArrayList typesList; 16 | 17 | public ArrayList getTypesArrayList() { 18 | return typesList; 19 | } 20 | 21 | public void setTypesArrayList(ArrayList siteArrayList) { 22 | this.typesList = siteArrayList; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /app/src/main/java/com/technikh/onedrupal/models/fieldBooleanValue.java: -------------------------------------------------------------------------------- 1 | package com.technikh.onedrupal.models; 2 | 3 | /* 4 | * Copyright (c) 2019. Nikhil Dubbaka from TechNikh.com under GNU AFFERO GENERAL PUBLIC LICENSE 5 | * Copyright and license notices must be preserved. 6 | * When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available. 7 | */ 8 | 9 | import com.google.gson.annotations.SerializedName; 10 | 11 | public class fieldBooleanValue { 12 | @SerializedName("value") 13 | private boolean mValue; 14 | 15 | public boolean getValue() { 16 | return mValue; 17 | } 18 | 19 | public void setValue(boolean val) { 20 | mValue = val; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /app/src/main/java/com/technikh/onedrupal/models/fieldIntTargetId.java: -------------------------------------------------------------------------------- 1 | package com.technikh.onedrupal.models; 2 | 3 | /* 4 | * Copyright (c) 2019. Nikhil Dubbaka from TechNikh.com under GNU AFFERO GENERAL PUBLIC LICENSE 5 | * Copyright and license notices must be preserved. 6 | * When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available. 7 | */ 8 | 9 | /* 10 | "type": [{ 11 | "target_id": "article" 12 | }], 13 | */ 14 | import com.google.gson.annotations.SerializedName; 15 | 16 | public class fieldIntTargetId { 17 | @SerializedName("target_id") 18 | private int mValue; 19 | 20 | public int getValue() { 21 | return mValue; 22 | } 23 | 24 | public void setValue(int val) { 25 | mValue = val; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /app/src/main/java/com/technikh/onedrupal/models/fieldIntValue.java: -------------------------------------------------------------------------------- 1 | package com.technikh.onedrupal.models; 2 | 3 | /* 4 | * Copyright (c) 2019. Nikhil Dubbaka from TechNikh.com under GNU AFFERO GENERAL PUBLIC LICENSE 5 | * Copyright and license notices must be preserved. 6 | * When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available. 7 | */ 8 | 9 | import com.google.gson.annotations.SerializedName; 10 | 11 | public class fieldIntValue { 12 | @SerializedName("value") 13 | private int mValue; 14 | 15 | public int getValue() { 16 | return mValue; 17 | } 18 | 19 | public void setValue(int val) { 20 | mValue = val; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /app/src/main/java/com/technikh/onedrupal/models/fieldStringTargetUuid.java: -------------------------------------------------------------------------------- 1 | package com.technikh.onedrupal.models; 2 | 3 | /* 4 | * Copyright (c) 2019. Nikhil Dubbaka from TechNikh.com under GNU AFFERO GENERAL PUBLIC LICENSE 5 | * Copyright and license notices must be preserved. 6 | * When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available. 7 | */ 8 | 9 | /* 10 | "type": [{ 11 | "target_id": "article" 12 | }], 13 | */ 14 | import com.google.gson.annotations.SerializedName; 15 | 16 | public class fieldStringTargetUuid { 17 | @SerializedName("target_uuid") 18 | private String mValue; 19 | 20 | public String getValue() { 21 | return mValue; 22 | } 23 | 24 | public void setValue(String val) { 25 | mValue = val; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /app/src/main/java/com/technikh/onedrupal/models/fieldStringValue.java: -------------------------------------------------------------------------------- 1 | package com.technikh.onedrupal.models; 2 | 3 | /* 4 | * Copyright (c) 2019. Nikhil Dubbaka from TechNikh.com under GNU AFFERO GENERAL PUBLIC LICENSE 5 | * Copyright and license notices must be preserved. 6 | * When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available. 7 | */ 8 | 9 | import com.google.gson.annotations.SerializedName; 10 | 11 | public class fieldStringValue { 12 | @SerializedName("value") 13 | private String mValue; 14 | 15 | public String getValue() { 16 | return mValue; 17 | } 18 | 19 | public void setValue(String val) { 20 | mValue = val; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /app/src/main/java/com/technikh/onedrupal/models/fieldTargetIdValue.java: -------------------------------------------------------------------------------- 1 | package com.technikh.onedrupal.models; 2 | 3 | /* 4 | * Copyright (c) 2019. Nikhil Dubbaka from TechNikh.com under GNU AFFERO GENERAL PUBLIC LICENSE 5 | * Copyright and license notices must be preserved. 6 | * When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available. 7 | */ 8 | 9 | /* 10 | "type": [{ 11 | "target_id": "article" 12 | }], 13 | */ 14 | import com.google.gson.annotations.SerializedName; 15 | 16 | public class fieldTargetIdValue { 17 | @SerializedName("target_id") 18 | private String mValue; 19 | 20 | public String getValue() { 21 | return mValue; 22 | } 23 | 24 | public void setValue(String val) { 25 | mValue = val; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /app/src/main/java/com/technikh/onedrupal/models/nodeData.java: -------------------------------------------------------------------------------- 1 | package com.technikh.onedrupal.models; 2 | 3 | /* 4 | * Copyright (c) 2019. Nikhil Dubbaka from TechNikh.com under GNU AFFERO GENERAL PUBLIC LICENSE 5 | * Copyright and license notices must be preserved. 6 | * When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available. 7 | */ 8 | 9 | import android.util.Log; 10 | 11 | public class nodeData { 12 | 13 | final String id; 14 | final String name; 15 | final int age; 16 | 17 | nodeData(String id, String name, int age) { 18 | Log.d("nodeData", "nodeData: "); 19 | this.id = id; 20 | this.name = name; 21 | this.age = age; 22 | } 23 | } -------------------------------------------------------------------------------- /app/src/main/java/com/technikh/onedrupal/models/nodeDeserializer.java: -------------------------------------------------------------------------------- 1 | package com.technikh.onedrupal.models; 2 | 3 | /* 4 | * Copyright (c) 2019. Nikhil Dubbaka from TechNikh.com under GNU AFFERO GENERAL PUBLIC LICENSE 5 | * Copyright and license notices must be preserved. 6 | * When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available. 7 | */ 8 | 9 | import android.util.Log; 10 | 11 | import com.google.gson.Gson; 12 | import com.google.gson.JsonDeserializationContext; 13 | import com.google.gson.JsonDeserializer; 14 | import com.google.gson.JsonElement; 15 | import com.google.gson.JsonParseException; 16 | import java.lang.reflect.Type; 17 | 18 | public class nodeDeserializer implements JsonDeserializer { 19 | @Override 20 | public nodeData deserialize(JsonElement je, Type type, JsonDeserializationContext jdc) 21 | throws JsonParseException 22 | { 23 | Log.d("nodeDeserializer", "deserialize: "+je.getAsString()); 24 | /*JsonElement data = je.getAsJsonObject().get("data"); 25 | JsonElement mainCategory = je.getAsJsonObject().get("main_category"); 26 | JsonElement user = je.getAsJsonObject().get("user");*/ 27 | 28 | return new Gson().fromJson(je, nodeData.class); 29 | } 30 | } -------------------------------------------------------------------------------- /app/src/main/java/com/technikh/onedrupal/models/nodeFields.java: -------------------------------------------------------------------------------- 1 | package com.technikh.onedrupal.models; 2 | 3 | /* 4 | * Copyright (c) 2019. Nikhil Dubbaka from TechNikh.com under GNU AFFERO GENERAL PUBLIC LICENSE 5 | * Copyright and license notices must be preserved. 6 | * When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available. 7 | */ 8 | 9 | import com.google.gson.annotations.SerializedName; 10 | 11 | import java.util.ArrayList; 12 | 13 | public class nodeFields { 14 | @SerializedName("image") 15 | private String mImage=""; 16 | 17 | @SerializedName("body") 18 | private String mBody=""; 19 | 20 | @SerializedName("remote_image") 21 | public String remote_image=""; 22 | 23 | @SerializedName("remote_page") 24 | public String remote_page=""; 25 | 26 | @SerializedName("embedded_video") 27 | public String remote_video=""; 28 | 29 | @SerializedName("taxonomies") 30 | public ArrayList taxonomies; 31 | 32 | public String getFieldImage() { 33 | return mImage; 34 | } 35 | 36 | public void setFieldImage(String image) { 37 | this.mImage = image; 38 | } 39 | 40 | public String getFieldBody() { 41 | return mBody; 42 | } 43 | 44 | public void setFieldBody(String body) { 45 | this.mBody = body; 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /app/src/main/java/com/technikh/onedrupal/models/settingTaxonomyField.java: -------------------------------------------------------------------------------- 1 | package com.technikh.onedrupal.models; 2 | 3 | /* 4 | * Copyright (c) 2019. Nikhil Dubbaka from TechNikh.com under GNU AFFERO GENERAL PUBLIC LICENSE 5 | * Copyright and license notices must be preserved. 6 | * When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available. 7 | */ 8 | 9 | import com.google.gson.annotations.SerializedName; 10 | 11 | import java.util.ArrayList; 12 | 13 | public class settingTaxonomyField { 14 | @SerializedName("field") 15 | public String mFieldName=""; 16 | 17 | @SerializedName("vocabulary") 18 | public String mVocabulary=""; 19 | 20 | @SerializedName("auto_create") 21 | public boolean mAutoCreate=false; 22 | } 23 | -------------------------------------------------------------------------------- /app/src/main/java/com/technikh/onedrupal/network/ApiCall.java: -------------------------------------------------------------------------------- 1 | package com.technikh.onedrupal.network; 2 | 3 | /* 4 | * Copyright (c) 2019. Nikhil Dubbaka from TechNikh.com under GNU AFFERO GENERAL PUBLIC LICENSE 5 | * Copyright and license notices must be preserved. 6 | * When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available. 7 | */ 8 | 9 | import android.content.Context; 10 | import android.util.Log; 11 | 12 | import com.android.volley.Request; 13 | import com.android.volley.RequestQueue; 14 | import com.android.volley.Response; 15 | import com.android.volley.toolbox.StringRequest; 16 | import com.android.volley.toolbox.Volley; 17 | import com.technikh.onedrupal.authenticator.AuthPreferences; 18 | 19 | /** 20 | * Created by MG on 04-03-2018. 21 | */ 22 | 23 | public class ApiCall { 24 | private static ApiCall mInstance; 25 | private RequestQueue mRequestQueue; 26 | private static Context mCtx; 27 | 28 | public ApiCall(Context ctx) { 29 | mCtx = ctx; 30 | mRequestQueue = getRequestQueue(); 31 | } 32 | 33 | public static synchronized ApiCall getInstance(Context context) { 34 | if (mInstance == null) { 35 | mInstance = new ApiCall(context); 36 | } 37 | return mInstance; 38 | } 39 | 40 | public RequestQueue getRequestQueue() { 41 | if (mRequestQueue == null) { 42 | mRequestQueue = Volley.newRequestQueue(mCtx.getApplicationContext()); 43 | } 44 | return mRequestQueue; 45 | } 46 | 47 | public void addToRequestQueue(Request req) { 48 | getRequestQueue().add(req); 49 | } 50 | 51 | public static void make(Context ctx, String vid, String query, Response.Listener 52 | listener, Response.ErrorListener errorListener) { 53 | //String url = "https://itunes.apple.com/search?term=" + query + "&country=US"; 54 | AuthPreferences mAuthPreferences = new AuthPreferences(ctx); 55 | // http://nikhil.dubbaka.com/onedrupal/api/v1/vocabulary-titles/categories?name=Or 56 | String url = mAuthPreferences.getPrimarySiteProtocol() + mAuthPreferences.getPrimarySiteUrl()+"/onedrupal/api/v1/vocabulary-titles/"+vid+"?name="+query; 57 | Log.d("ApiCall", "make: query "+query); 58 | Log.d("ApiCall", "make: url "+url); 59 | StringRequest stringRequest = new StringRequest(Request.Method.GET, url, 60 | listener, errorListener); 61 | ApiCall.getInstance(ctx).addToRequestQueue(stringRequest); 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /app/src/main/java/com/technikh/onedrupal/network/GetDrupalNodeDataService.java: -------------------------------------------------------------------------------- 1 | package com.technikh.onedrupal.network; 2 | 3 | /* 4 | * Copyright (c) 2019. Nikhil Dubbaka from TechNikh.com under GNU AFFERO GENERAL PUBLIC LICENSE 5 | * Copyright and license notices must be preserved. 6 | * When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available. 7 | */ 8 | 9 | import com.technikh.onedrupal.models.ModelNodeType; 10 | import com.technikh.onedrupal.models.SettingsTypeList; 11 | 12 | import retrofit2.Call; 13 | import retrofit2.http.Body; 14 | import retrofit2.http.GET; 15 | import retrofit2.http.Headers; 16 | import retrofit2.http.PATCH; 17 | import retrofit2.http.Path; 18 | 19 | public interface GetDrupalNodeDataService { 20 | @GET("/node/{editNid}?_format=json") 21 | Call getNode(@Path("editNid") String nid); 22 | } 23 | -------------------------------------------------------------------------------- /app/src/main/java/com/technikh/onedrupal/network/GetSiteDataService.java: -------------------------------------------------------------------------------- 1 | package com.technikh.onedrupal.network; 2 | 3 | /* 4 | * Copyright (c) 2019. Nikhil Dubbaka from TechNikh.com under GNU AFFERO GENERAL PUBLIC LICENSE 5 | * Copyright and license notices must be preserved. 6 | * When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available. 7 | */ 8 | 9 | import android.database.Observable; 10 | 11 | import com.technikh.onedrupal.models.ModelNodeType; 12 | import com.technikh.onedrupal.models.OneMultipleTermsModel; 13 | import com.technikh.onedrupal.models.SettingsTypeList; 14 | import com.technikh.onedrupal.models.SiteList; 15 | import com.technikh.onedrupal.models.VocabTermsList; 16 | import com.technikh.onedrupal.models.VocabTermsSimpleList; 17 | 18 | import retrofit2.Call; 19 | import retrofit2.http.Body; 20 | import retrofit2.http.GET; 21 | import retrofit2.http.Headers; 22 | import retrofit2.http.PATCH; 23 | import retrofit2.http.POST; 24 | import retrofit2.http.Path; 25 | import retrofit2.http.Query; 26 | 27 | public interface GetSiteDataService { 28 | @GET("onedrupal/api/v1/settings") 29 | Call getTypeData(); 30 | 31 | @Headers({"Content-Type:application/json"}) 32 | @PATCH("/node/{editNid}?_format=json") 33 | Call postNodeEdit(@Path("editNid") String nid, @Body ModelNodeType node); 34 | 35 | @GET("/node/{editNid}?_format=json") 36 | Call getNode(@Path("editNid") String nid); 37 | 38 | @GET("/onedrupal/api/v1/vocabulary/{vocabName}") 39 | Call getTaxonomyVocab(@Path("vocabName") String vocabName); 40 | 41 | @GET("/onedrupal/api/v1/vocabulary-titles?_format=json") 42 | Call getTaxonomyVocabTitles(); 43 | 44 | @Headers({"Content-Type:application/json"}) 45 | @POST("/onedrupal/api/v1/taxonomy") 46 | Call postMultipleTerms(@Body OneMultipleTermsModel body); 47 | } 48 | -------------------------------------------------------------------------------- /app/src/main/java/com/technikh/onedrupal/network/OnApiGetTaskCompleted.java: -------------------------------------------------------------------------------- 1 | package com.technikh.onedrupal.network; 2 | 3 | /* 4 | * Copyright (c) 2019. Nikhil Dubbaka from TechNikh.com under GNU AFFERO GENERAL PUBLIC LICENSE 5 | * Copyright and license notices must be preserved. 6 | * When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available. 7 | */ 8 | 9 | public interface OnApiGetTaskCompleted{ 10 | void onTaskCompleted(String result); 11 | } -------------------------------------------------------------------------------- /app/src/main/java/com/technikh/onedrupal/network/OnSettingsApiGetTaskCompleted.java: -------------------------------------------------------------------------------- 1 | package com.technikh.onedrupal.network; 2 | 3 | /* 4 | * Copyright (c) 2019. Nikhil Dubbaka from TechNikh.com under GNU AFFERO GENERAL PUBLIC LICENSE 5 | * Copyright and license notices must be preserved. 6 | * When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available. 7 | */ 8 | 9 | import android.content.Intent; 10 | import android.util.Log; 11 | 12 | import com.technikh.onedrupal.activities.ActivityDashboard; 13 | import com.technikh.onedrupal.activities.SiteContentTabsActivity; 14 | import com.technikh.onedrupal.app.MyApplication; 15 | import com.technikh.onedrupal.models.ModelNodeType; 16 | import com.technikh.onedrupal.models.SettingsType; 17 | 18 | import org.json.JSONArray; 19 | import org.json.JSONException; 20 | import org.json.JSONObject; 21 | 22 | public class OnSettingsApiGetTaskCompleted implements OnApiGetTaskCompleted{ 23 | private String TAG = "OnSettingsApiGetTaskCompleted"; 24 | @Override 25 | public void onTaskCompleted(String responseStr) { 26 | // do something with result here! 27 | //Log.d(TAG, "onTaskCompleted: "+responseStr); 28 | Log.d(TAG, "fetchSettingsAPI: responseStr "+responseStr); 29 | if(responseStr == null){ 30 | return; 31 | } 32 | try { 33 | JSONObject responseBodyObj = new JSONObject(responseStr); 34 | if (responseBodyObj.has("types")) { 35 | Log.d(TAG, "fetchSettingsAPI: in types"); 36 | JSONArray ja = responseBodyObj.getJSONArray("types"); 37 | MyApplication.gblNodeTypeSettings.clear(); 38 | for (int j = 0; j < ja.length(); j++) { 39 | Log.d(TAG, "fetchSettingsAPI: in for"); 40 | JSONObject jo = (JSONObject) ja.get(j); 41 | //SettingsType modelNodeType = new SettingsType(jo); 42 | //MyApplication.gblNodeTypeSettings.add(modelNodeType); 43 | } 44 | Intent intent1 = new Intent(MyApplication.getAppContext(), SiteContentTabsActivity.class); 45 | intent1.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 46 | MyApplication.getAppContext().startActivity(intent1); 47 | } 48 | } catch (JSONException e) { 49 | e.printStackTrace(); 50 | } catch (Exception e) { 51 | e.printStackTrace(); 52 | } 53 | } 54 | } -------------------------------------------------------------------------------- /app/src/main/java/com/technikh/onedrupal/network/ProvideCacheInterceptor.java: -------------------------------------------------------------------------------- 1 | package com.technikh.onedrupal.network; 2 | 3 | /* 4 | * Copyright (c) 2019. Nikhil Dubbaka from TechNikh.com under GNU AFFERO GENERAL PUBLIC LICENSE 5 | * Copyright and license notices must be preserved. 6 | * When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available. 7 | */ 8 | 9 | import android.util.Log; 10 | 11 | import java.io.IOException; 12 | import java.util.concurrent.TimeUnit; 13 | 14 | import okhttp3.CacheControl; 15 | import okhttp3.Interceptor; 16 | import okhttp3.Request; 17 | import okhttp3.Response; 18 | 19 | public class ProvideCacheInterceptor implements Interceptor { 20 | private String TAG = "ProvideCacheInterceptor"; 21 | 22 | @Override 23 | public Response intercept(Chain chain) throws IOException { 24 | Request request = chain.request(); 25 | Response originalResponse = chain.proceed(request); 26 | String cacheControl = originalResponse.header("Cache-Control"); 27 | 28 | if (cacheControl == null || cacheControl.contains("no-store") || cacheControl.contains("no-cache") || 29 | cacheControl.contains("must-revalidate") || cacheControl.contains("max-stale=0")) { 30 | //Log.d(TAG, "intercept: if chain "+cacheControl); 31 | if(true) 32 | return originalResponse; 33 | CacheControl cc = new CacheControl.Builder() 34 | .maxStale(1, TimeUnit.DAYS) 35 | .build(); 36 | 37 | 38 | 39 | request = request.newBuilder() 40 | .cacheControl(cc) 41 | .build(); 42 | return originalResponse.newBuilder() 43 | .removeHeader("Pragma") 44 | .header("Cache-Control", "public, max-age=" + 5000) 45 | .build(); 46 | //return chain.proceed(request); 47 | 48 | } else { 49 | Log.d(TAG, "intercept: else originalResponse"); 50 | return originalResponse; 51 | } 52 | } 53 | } -------------------------------------------------------------------------------- /app/src/main/java/com/technikh/onedrupal/network/ProvideOfflineCacheInterceptor.java: -------------------------------------------------------------------------------- 1 | package com.technikh.onedrupal.network; 2 | 3 | /* 4 | * Copyright (c) 2019. Nikhil Dubbaka from TechNikh.com under GNU AFFERO GENERAL PUBLIC LICENSE 5 | * Copyright and license notices must be preserved. 6 | * When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available. 7 | */ 8 | 9 | import android.util.Log; 10 | 11 | import java.io.IOException; 12 | import java.util.concurrent.TimeUnit; 13 | 14 | import okhttp3.CacheControl; 15 | import okhttp3.Interceptor; 16 | import okhttp3.Request; 17 | import okhttp3.Response; 18 | 19 | public class ProvideOfflineCacheInterceptor implements Interceptor { 20 | private String TAG = "ProvideOfflineCacheInterceptor"; 21 | 22 | @Override 23 | public Response intercept(Chain chain) throws IOException { 24 | Log.d(TAG, "intercept: provideOfflineCacheInterceptor"); 25 | try { 26 | return chain.proceed(chain.request()); 27 | } catch (Exception e) { 28 | 29 | 30 | CacheControl cacheControl = new CacheControl.Builder() 31 | .onlyIfCached() 32 | .maxStale(1, TimeUnit.DAYS) 33 | .build(); 34 | 35 | Request offlineRequest = chain.request().newBuilder() 36 | .cacheControl(cacheControl) 37 | .build(); 38 | return chain.proceed(offlineRequest); 39 | } 40 | } 41 | } -------------------------------------------------------------------------------- /app/src/main/java/com/technikh/onedrupal/network/ReceivedCookiesInterceptor.java: -------------------------------------------------------------------------------- 1 | package com.technikh.onedrupal.network; 2 | 3 | /* 4 | * Copyright (c) 2019. Nikhil Dubbaka from TechNikh.com under GNU AFFERO GENERAL PUBLIC LICENSE 5 | * Copyright and license notices must be preserved. 6 | * When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available. 7 | */ 8 | 9 | import android.content.Context; 10 | import android.content.SharedPreferences; 11 | import android.util.Log; 12 | 13 | import com.technikh.onedrupal.app.MyApplication; 14 | 15 | import java.io.IOException; 16 | import java.util.HashSet; 17 | 18 | import okhttp3.Interceptor; 19 | import okhttp3.Request; 20 | import okhttp3.Response; 21 | 22 | /** 23 | * This Interceptor add all received Cookies to the app DefaultPreferences. 24 | * Your implementation on how to save the Cookies on the Preferences MAY VARY. 25 | *

26 | * Created by tsuharesu on 4/1/15. 27 | */ 28 | public class ReceivedCookiesInterceptor implements Interceptor { 29 | private Context context; 30 | public static final String APP_PREFERENCES = "mysettings"; 31 | private SharedPreferences mSettings; 32 | private String TAG = "ReceivedCookiesInterceptor"; 33 | @Override 34 | public Response intercept(Chain chain) throws IOException { 35 | context = MyApplication.getAppContext(); 36 | Response originalResponse = chain.proceed(chain.request()); 37 | mSettings = context.getSharedPreferences(APP_PREFERENCES, Context.MODE_PRIVATE); 38 | 39 | if (!originalResponse.headers("Set-Cookie").isEmpty()) { 40 | HashSet cookies = (HashSet) mSettings.getStringSet("PREF_COOKIES", new HashSet()); 41 | 42 | for (String header : originalResponse.headers("Set-Cookie")) { 43 | cookies.add(header); 44 | } 45 | Log.d(TAG, "intercept: "+cookies.toString()); 46 | 47 | SharedPreferences.Editor memes = mSettings.edit(); 48 | memes.putStringSet("PREF_COOKIES", cookies).apply(); 49 | memes.commit(); 50 | } 51 | 52 | return originalResponse; 53 | } 54 | } -------------------------------------------------------------------------------- /app/src/main/java/com/technikh/onedrupal/network/RetrofitOneDrupalInstance.java: -------------------------------------------------------------------------------- 1 | package com.technikh.onedrupal.network; 2 | 3 | /* 4 | * Copyright (c) 2019. Nikhil Dubbaka from TechNikh.com under GNU AFFERO GENERAL PUBLIC LICENSE 5 | * Copyright and license notices must be preserved. 6 | * When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available. 7 | */ 8 | 9 | import retrofit2.Retrofit; 10 | import retrofit2.converter.gson.GsonConverterFactory; 11 | 12 | public class RetrofitOneDrupalInstance { 13 | 14 | private static Retrofit retrofit = null; 15 | private static final String BASE_URL = "https://pastebin.com/raw/"; 16 | 17 | private RetrofitOneDrupalInstance() {} 18 | 19 | public static Retrofit getRetrofitOneDrupalInstance() { 20 | if (retrofit == null) { 21 | retrofit = new Retrofit.Builder() 22 | .baseUrl(BASE_URL) 23 | .addConverterFactory(GsonConverterFactory.create()) 24 | .build(); 25 | } 26 | return retrofit; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /app/src/main/java/com/technikh/onedrupal/network/TipkrService.java: -------------------------------------------------------------------------------- 1 | package com.technikh.onedrupal.network; 2 | 3 | /* 4 | * Copyright (c) 2019. Nikhil Dubbaka from TechNikh.com under GNU AFFERO GENERAL PUBLIC LICENSE 5 | * Copyright and license notices must be preserved. 6 | * When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available. 7 | */ 8 | 9 | public interface TipkrService { 10 | 11 | /*@POST("users/authentication") 12 | Call otpDetails(@Body ModelRequestAuthOTP modelRequestAuthOTP); 13 | 14 | @Multipart 15 | @POST("rest/session/token") 16 | Call otpDetails(@FieldMap Map stringStringMap);*/ 17 | 18 | } -------------------------------------------------------------------------------- /app/src/main/java/com/technikh/onedrupal/provider/GenericFileProvider.java: -------------------------------------------------------------------------------- 1 | package com.technikh.onedrupal.provider; 2 | 3 | /* 4 | * Copyright (c) 2019. Nikhil Dubbaka from TechNikh.com under GNU AFFERO GENERAL PUBLIC LICENSE 5 | * Copyright and license notices must be preserved. 6 | * When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available. 7 | */ 8 | 9 | import androidx.core.content.FileProvider; 10 | 11 | public class GenericFileProvider extends FileProvider { 12 | } 13 | -------------------------------------------------------------------------------- /app/src/main/java/com/technikh/onedrupal/provider/IServerAuthenticator.java: -------------------------------------------------------------------------------- 1 | package com.technikh.onedrupal.provider; 2 | 3 | /* 4 | * Copyright (c) 2019. Nikhil Dubbaka from TechNikh.com under GNU AFFERO GENERAL PUBLIC LICENSE 5 | * Copyright and license notices must be preserved. 6 | * When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available. 7 | */ 8 | 9 | public interface IServerAuthenticator { 10 | 11 | /** 12 | * Tells the server to create the new user and return its auth token. 13 | * @param email 14 | * @param username 15 | * @param password 16 | * @return Access token 17 | */ 18 | public String signUp (final String email, final String username, final String password); 19 | 20 | /** 21 | * Logs the user in and returns its auth token. 22 | * @param email 23 | * @param password 24 | * @return Access token 25 | */ 26 | public String signIn (final String site_domain, final String email, final String password); 27 | 28 | } 29 | -------------------------------------------------------------------------------- /app/src/main/java/com/technikh/onedrupal/util/AccountUtils.java: -------------------------------------------------------------------------------- 1 | package com.technikh.onedrupal.util; 2 | 3 | /* 4 | * Copyright (c) 2019. Nikhil Dubbaka from TechNikh.com under GNU AFFERO GENERAL PUBLIC LICENSE 5 | * Copyright and license notices must be preserved. 6 | * When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available. 7 | */ 8 | 9 | import android.accounts.Account; 10 | import android.accounts.AccountManager; 11 | import android.content.Context; 12 | 13 | import com.technikh.onedrupal.provider.IServerAuthenticator; 14 | import com.technikh.onedrupal.provider.MyServerAuthenticator; 15 | 16 | public class AccountUtils { 17 | 18 | public static final String ACCOUNT_TYPE = "com.technikh.onedrupal"; 19 | public static final String AUTH_TOKEN_TYPE = "com.technikh.onedrupal.sitetoken"; 20 | 21 | public static IServerAuthenticator mServerAuthenticator = new MyServerAuthenticator(); 22 | 23 | public static Account getAccount(Context context, String accountName) { 24 | AccountManager accountManager = AccountManager.get(context); 25 | Account[] accounts = accountManager.getAccountsByType(ACCOUNT_TYPE); 26 | for (Account account : accounts) { 27 | if (account.name.equalsIgnoreCase(accountName)) { 28 | return account; 29 | } 30 | } 31 | return null; 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /app/src/main/java/com/technikh/onedrupal/util/LruBitmapCache.java: -------------------------------------------------------------------------------- 1 | package com.technikh.onedrupal.util; 2 | 3 | /* 4 | * Copyright (c) 2019. Nikhil Dubbaka from TechNikh.com under GNU AFFERO GENERAL PUBLIC LICENSE 5 | * Copyright and license notices must be preserved. 6 | * When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available. 7 | */ 8 | 9 | import android.graphics.Bitmap; 10 | import androidx.collection.LruCache; 11 | 12 | import com.android.volley.toolbox.ImageLoader.ImageCache; 13 | 14 | public class LruBitmapCache extends LruCache implements 15 | ImageCache { 16 | public static int getDefaultLruCacheSize() { 17 | final int maxMemory = (int) (Runtime.getRuntime().maxMemory() / 1024); 18 | final int cacheSize = maxMemory / 8; 19 | 20 | return cacheSize; 21 | } 22 | 23 | public LruBitmapCache() { 24 | this(getDefaultLruCacheSize()); 25 | } 26 | 27 | public LruBitmapCache(int sizeInKiloBytes) { 28 | super(sizeInKiloBytes); 29 | } 30 | 31 | @Override 32 | protected int sizeOf(String key, Bitmap value) { 33 | return value.getRowBytes() * value.getHeight() / 1024; 34 | } 35 | 36 | @Override 37 | public Bitmap getBitmap(String url) { 38 | return get(url); 39 | } 40 | 41 | @Override 42 | public void putBitmap(String url, Bitmap bitmap) { 43 | put(url, bitmap); 44 | } 45 | } -------------------------------------------------------------------------------- /app/src/main/java/com/technikh/onedrupal/util/StringUtils.java: -------------------------------------------------------------------------------- 1 | package com.technikh.onedrupal.util; 2 | 3 | /* 4 | * Copyright (c) 2019. Nikhil Dubbaka from TechNikh.com under GNU AFFERO GENERAL PUBLIC LICENSE 5 | * Copyright and license notices must be preserved. 6 | * When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available. 7 | */ 8 | 9 | import java.util.ArrayList; 10 | import java.util.Collections; 11 | import java.util.HashMap; 12 | import java.util.Iterator; 13 | import java.util.LinkedHashMap; 14 | import java.util.List; 15 | 16 | public class StringUtils { 17 | 18 | private static String TAG = "ApiUtils"; 19 | 20 | public static String implode(String separator, List data) { 21 | StringBuilder sb = new StringBuilder(); 22 | for (int i = 0; i < data.size() - 1; i++) { 23 | //data.length - 1 => to not add separator at the end 24 | if (!data.get(i).matches(" *")) {//empty string are ""; " "; " "; and so on 25 | sb.append(data.get(i)); 26 | sb.append(separator); 27 | } 28 | } 29 | sb.append(data.get(data.size() - 1).trim()); 30 | return sb.toString(); 31 | } 32 | 33 | public static LinkedHashMap sortHashMapByValues( 34 | HashMap passedMap) { 35 | List mapKeys = new ArrayList<>(passedMap.keySet()); 36 | List mapValues = new ArrayList<>(passedMap.values()); 37 | Collections.sort(mapValues); 38 | Collections.sort(mapKeys); 39 | 40 | LinkedHashMap sortedMap = 41 | new LinkedHashMap<>(); 42 | 43 | Iterator valueIt = mapValues.iterator(); 44 | while (valueIt.hasNext()) { 45 | String val = valueIt.next(); 46 | Iterator keyIt = mapKeys.iterator(); 47 | 48 | while (keyIt.hasNext()) { 49 | Integer key = keyIt.next(); 50 | String comp1 = passedMap.get(key); 51 | String comp2 = val; 52 | 53 | if (comp1.equals(comp2)) { 54 | keyIt.remove(); 55 | sortedMap.put(key, val); 56 | break; 57 | } 58 | } 59 | } 60 | return sortedMap; 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /app/src/main/java/com/technikh/onedrupal/widgets/ProgressDialogAsync.java: -------------------------------------------------------------------------------- 1 | package com.technikh.onedrupal.widgets; 2 | 3 | /* 4 | * Copyright (c) 2019. Nikhil Dubbaka from TechNikh.com under GNU AFFERO GENERAL PUBLIC LICENSE 5 | * Copyright and license notices must be preserved. 6 | * When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available. 7 | */ 8 | 9 | import android.app.Dialog; 10 | import android.content.Context; 11 | import android.graphics.Color; 12 | import android.graphics.drawable.ColorDrawable; 13 | import android.view.Window; 14 | 15 | import com.technikh.onedrupal.R; 16 | 17 | public class ProgressDialogAsync extends Dialog { 18 | 19 | public ProgressDialogAsync(Context context) { 20 | super(context); 21 | requestWindowFeature(Window.FEATURE_NO_TITLE); 22 | getWindow().getAttributes().windowAnimations = R.style.dialog_animation_fade; 23 | getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); 24 | setContentView(R.layout.fw_general_progress); 25 | setCancelable(false); 26 | } 27 | 28 | public void cancel() { 29 | if (isShowing()) 30 | dismiss(); 31 | } 32 | } -------------------------------------------------------------------------------- /app/src/main/java/com/technikh/onedrupal/widgets/SFImageViewRectangle.java: -------------------------------------------------------------------------------- 1 | package com.technikh.onedrupal.widgets; 2 | 3 | /* 4 | * Copyright (c) 2019. Nikhil Dubbaka from TechNikh.com under GNU AFFERO GENERAL PUBLIC LICENSE 5 | * Copyright and license notices must be preserved. 6 | * When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available. 7 | */ 8 | 9 | import android.content.Context; 10 | import android.util.AttributeSet; 11 | import android.widget.ImageView; 12 | 13 | public class SFImageViewRectangle extends ImageView { 14 | 15 | public SFImageViewRectangle(Context context) { 16 | super(context); 17 | } 18 | 19 | public SFImageViewRectangle(Context context, AttributeSet attrs) { 20 | super(context, attrs); 21 | } 22 | 23 | public SFImageViewRectangle(Context context, AttributeSet attrs, int defStyle) { 24 | super(context, attrs, defStyle); 25 | } 26 | 27 | @Override 28 | public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { 29 | super.onMeasure(widthMeasureSpec, heightMeasureSpec); // This is the key that will make the height equivalent to its width 30 | setMeasuredDimension(getMeasuredWidth(), (int) (getMeasuredWidth() / 1.3)); //Snap to width 31 | } 32 | } -------------------------------------------------------------------------------- /app/src/main/java/com/technikh/onedrupal/widgets/SFImageViewSquare.java: -------------------------------------------------------------------------------- 1 | package com.technikh.onedrupal.widgets; 2 | 3 | /* 4 | * Copyright (c) 2019. Nikhil Dubbaka from TechNikh.com under GNU AFFERO GENERAL PUBLIC LICENSE 5 | * Copyright and license notices must be preserved. 6 | * When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available. 7 | */ 8 | 9 | import android.content.Context; 10 | import android.util.AttributeSet; 11 | import android.widget.ImageView; 12 | 13 | public class SFImageViewSquare extends ImageView { 14 | 15 | public SFImageViewSquare(Context context) { 16 | super(context); 17 | } 18 | 19 | public SFImageViewSquare(Context context, AttributeSet attrs) { 20 | super(context, attrs); 21 | } 22 | 23 | public SFImageViewSquare(Context context, AttributeSet attrs, int defStyle) { 24 | super(context, attrs, defStyle); 25 | } 26 | 27 | @Override 28 | public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { 29 | super.onMeasure(widthMeasureSpec, heightMeasureSpec); // This is the key that will make the height equivalent to its width 30 | setMeasuredDimension(getMeasuredWidth(), getMeasuredWidth()); //Snap to width 31 | } 32 | } -------------------------------------------------------------------------------- /app/src/main/java/treeutil/MyObject.java: -------------------------------------------------------------------------------- 1 | package treeutil; 2 | 3 | /* 4 | * Copyright (c) 2019. Nikhil Dubbaka from TechNikh.com under GNU AFFERO GENERAL PUBLIC LICENSE 5 | * Copyright and license notices must be preserved. 6 | * When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available. 7 | */ 8 | 9 | public class MyObject { // The actual object 10 | public int parentId; 11 | public int tid; 12 | public String name; 13 | public String vocabularyId; 14 | public Boolean isSelected = false; 15 | 16 | /*public String getParentId() { 17 | return parentId; 18 | } 19 | 20 | public void setParentId(String parentId) { 21 | this.parentId = parentId; 22 | }*/ 23 | 24 | public Boolean isSelected() { 25 | return isSelected; 26 | } 27 | 28 | public void setSelected(Boolean selected) { 29 | this.isSelected = selected; 30 | } 31 | 32 | 33 | } 34 | -------------------------------------------------------------------------------- /app/src/main/java/treeutil/Node.java: -------------------------------------------------------------------------------- 1 | package treeutil; 2 | 3 | /* 4 | * Copyright (c) 2019. Nikhil Dubbaka from TechNikh.com under GNU AFFERO GENERAL PUBLIC LICENSE 5 | * Copyright and license notices must be preserved. 6 | * When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available. 7 | */ 8 | 9 | import java.util.ArrayList; 10 | import java.util.List; 11 | 12 | public class Node { 13 | public List children = new ArrayList(); 14 | public Node parent; 15 | public MyObject associatedObject; 16 | public Node(){ 17 | 18 | } 19 | public Node(MyObject associatedObject) { 20 | this.associatedObject = associatedObject; 21 | } 22 | 23 | public List getChildren() { 24 | return children; 25 | } 26 | 27 | public void setChildren(List children) { 28 | this.children = children; 29 | } 30 | 31 | public Node getParent() { 32 | return parent; 33 | } 34 | 35 | public void setParent(Node parent) { 36 | this.parent = parent; 37 | } 38 | 39 | public MyObject getAssociatedObject() { 40 | return associatedObject; 41 | } 42 | 43 | public void setAssociatedObject(MyObject associatedObject) { 44 | this.associatedObject = associatedObject; 45 | } 46 | 47 | } -------------------------------------------------------------------------------- /app/src/main/java/treeutil/Tree.java: -------------------------------------------------------------------------------- 1 | package treeutil; 2 | 3 | /* 4 | * Copyright (c) 2019. Nikhil Dubbaka from TechNikh.com under GNU AFFERO GENERAL PUBLIC LICENSE 5 | * Copyright and license notices must be preserved. 6 | * When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available. 7 | */ 8 | 9 | import com.annimon.stream.Stream; 10 | 11 | import java.util.ArrayList; 12 | import java.util.Collection; 13 | import java.util.HashMap; 14 | import java.util.Iterator; 15 | import java.util.List; 16 | import java.util.Map; 17 | 18 | public class Tree { 19 | 20 | public Iterator buildTreeAndGetRoots(List actualObjects) { 21 | Map lookup = new HashMap<>(); 22 | 23 | for (MyObject object : actualObjects) { 24 | lookup.put(object.tid, new Node(object)); 25 | } 26 | //foreach (var item in lookup.Values) 27 | Collection nodes = lookup.values(); 28 | for (Node item : nodes) { 29 | Node proposedParent; 30 | if (lookup.containsKey(item.associatedObject.parentId)) { 31 | proposedParent = lookup.get(item.associatedObject.parentId); 32 | item.parent = proposedParent; 33 | proposedParent.children.add(item); 34 | } 35 | } 36 | return (Iterator) Stream.of(lookup.values()).filter(x -> x.parent == null).iterator(); 37 | //return lookup.values.Where(x =>x.Parent ==null); 38 | } 39 | 40 | } 41 | 42 | 43 | -------------------------------------------------------------------------------- /app/src/main/java/treeutil/TreeHolder.java: -------------------------------------------------------------------------------- 1 | package treeutil; 2 | 3 | /* 4 | * Copyright (c) 2019. Nikhil Dubbaka from TechNikh.com under GNU AFFERO GENERAL PUBLIC LICENSE 5 | * Copyright and license notices must be preserved. 6 | * When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available. 7 | */ 8 | 9 | import android.content.Context; 10 | import android.view.LayoutInflater; 11 | import android.view.View; 12 | import android.widget.LinearLayout; 13 | import android.widget.TextView; 14 | 15 | import com.technikh.onedrupal.R; 16 | import com.unnamed.b.atv.model.TreeNode; 17 | 18 | import java.util.logging.Level; 19 | 20 | public class TreeHolder extends TreeNode.BaseNodeViewHolder { 21 | int level; 22 | 23 | public TreeHolder(Context context, int level) { 24 | super(context); 25 | this.level = level; 26 | } 27 | 28 | @Override 29 | public View createNodeView(TreeNode node, MyObject value) { 30 | final LayoutInflater inflater = LayoutInflater.from(context); 31 | final View view = inflater.inflate(R.layout.layout_node, null, false); 32 | View leadingView = view.findViewById(R.id.leadingView); 33 | if (level != 0) { 34 | LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(dpToPx(50*level),dpToPx(25)); 35 | 36 | leadingView.setLayoutParams(layoutParams); 37 | } 38 | TextView tvValue = (TextView) view.findViewById(R.id.node_value); 39 | tvValue.setText(value.name + level); 40 | return view; 41 | } 42 | 43 | public int dpToPx(int dp) { 44 | float density = context.getResources() 45 | .getDisplayMetrics() 46 | .density; 47 | return Math.round((float) dp * density); 48 | } 49 | } -------------------------------------------------------------------------------- /app/src/main/res/anim/activity_close_enter.xml: -------------------------------------------------------------------------------- 1 | 18 | 19 | 21 | 29 | -------------------------------------------------------------------------------- /app/src/main/res/anim/activity_close_exit.xml: -------------------------------------------------------------------------------- 1 | 18 | 19 | 22 | 31 | 39 | -------------------------------------------------------------------------------- /app/src/main/res/anim/activity_open_enter.xml: -------------------------------------------------------------------------------- 1 | 18 | 19 | 22 | 30 | 38 | -------------------------------------------------------------------------------- /app/src/main/res/anim/activity_open_exit.xml: -------------------------------------------------------------------------------- 1 | 18 | 19 | 22 | 30 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-anydpi/ic_back.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 13 | 16 | 17 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-anydpi/ic_left.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 13 | 16 | 17 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-anydpi/ic_right.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 13 | 16 | 17 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_action_redo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-hdpi/ic_action_redo.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_action_undo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-hdpi/ic_action_undo.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-hdpi/ic_back.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_bunch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-hdpi/ic_bunch.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_format_bold.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-hdpi/ic_format_bold.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_format_bullet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-hdpi/ic_format_bullet.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_format_clear.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-hdpi/ic_format_clear.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_format_italic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-hdpi/ic_format_italic.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_format_quote.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-hdpi/ic_format_quote.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_format_strikethrough.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-hdpi/ic_format_strikethrough.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_format_underline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-hdpi/ic_format_underline.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_insert_link.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-hdpi/ic_insert_link.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-hdpi/ic_left.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-hdpi/ic_right.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_taxonomy_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-hdpi/ic_taxonomy_icon.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/juggling_transparent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-hdpi/juggling_transparent.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_action_redo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-mdpi/ic_action_redo.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_action_undo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-mdpi/ic_action_undo.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-mdpi/ic_back.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_bunch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-mdpi/ic_bunch.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_format_bold.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-mdpi/ic_format_bold.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_format_bullet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-mdpi/ic_format_bullet.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_format_clear.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-mdpi/ic_format_clear.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_format_italic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-mdpi/ic_format_italic.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_format_quote.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-mdpi/ic_format_quote.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_format_strikethrough.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-mdpi/ic_format_strikethrough.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_format_underline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-mdpi/ic_format_underline.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_insert_link.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-mdpi/ic_insert_link.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-mdpi/ic_left.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-mdpi/ic_right.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_taxonomy_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-mdpi/ic_taxonomy_icon.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/juggling_transparent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-mdpi/juggling_transparent.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-nodpi/appwidget_preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-nodpi/appwidget_preview.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-nodpi/example_appwidget_preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-nodpi/example_appwidget_preview.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-nodpi/marker2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-nodpi/marker2.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-v24/ic_launcher_foreground.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 13 | 18 | 19 | 25 | 28 | 31 | 32 | 33 | 34 | 40 | 41 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_action_redo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-xhdpi/ic_action_redo.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_action_undo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-xhdpi/ic_action_undo.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-xhdpi/ic_back.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_bunch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-xhdpi/ic_bunch.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_format_bold.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-xhdpi/ic_format_bold.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_format_bullet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-xhdpi/ic_format_bullet.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_format_clear.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-xhdpi/ic_format_clear.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_format_italic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-xhdpi/ic_format_italic.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_format_quote.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-xhdpi/ic_format_quote.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_format_strikethrough.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-xhdpi/ic_format_strikethrough.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_format_underline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-xhdpi/ic_format_underline.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_insert_link.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-xhdpi/ic_insert_link.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-xhdpi/ic_left.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-xhdpi/ic_right.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_taxonomy_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-xhdpi/ic_taxonomy_icon.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/juggling_transparent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-xhdpi/juggling_transparent.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_action_redo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-xxhdpi/ic_action_redo.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_action_undo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-xxhdpi/ic_action_undo.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-xxhdpi/ic_back.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_bunch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-xxhdpi/ic_bunch.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_format_bold.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-xxhdpi/ic_format_bold.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_format_bullet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-xxhdpi/ic_format_bullet.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_format_clear.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-xxhdpi/ic_format_clear.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_format_italic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-xxhdpi/ic_format_italic.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_format_quote.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-xxhdpi/ic_format_quote.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_format_strikethrough.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-xxhdpi/ic_format_strikethrough.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_format_underline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-xxhdpi/ic_format_underline.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_insert_link.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-xxhdpi/ic_insert_link.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-xxhdpi/ic_left.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-xxhdpi/ic_right.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_taxonomy_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-xxhdpi/ic_taxonomy_icon.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/juggling_transparent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-xxhdpi/juggling_transparent.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_action_redo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-xxxhdpi/ic_action_redo.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_action_undo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-xxxhdpi/ic_action_undo.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_bunch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-xxxhdpi/ic_bunch.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_format_bold.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-xxxhdpi/ic_format_bold.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_format_bullet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-xxxhdpi/ic_format_bullet.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_format_clear.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-xxxhdpi/ic_format_clear.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_format_italic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-xxxhdpi/ic_format_italic.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_format_quote.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-xxxhdpi/ic_format_quote.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_format_strikethrough.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-xxxhdpi/ic_format_strikethrough.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_format_underline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-xxxhdpi/ic_format_underline.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_insert_link.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-xxxhdpi/ic_insert_link.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_taxonomy_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-xxxhdpi/ic_taxonomy_icon.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/juggling_transparent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable-xxxhdpi/juggling_transparent.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/bg_one_drupal.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/bg_one_drupal_bottom.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/bg_white_rectangle.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/bottomborder.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | 10 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/breadcumbtn.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/button_selector_dialog.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/cursor_drawable_white.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_arrow_back.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 12 | 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_baseline_settings_applications.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 12 | 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_launcher_foreground.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 13 | 18 | 19 | 25 | 28 | 31 | 32 | 33 | 34 | 40 | 41 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_photo.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 12 | 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_post.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 12 | 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/profile_pic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/drawable/profile_pic.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/toolbar_shadow.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 10 | 11 | 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/font/sf_medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/font/sf_medium.ttf -------------------------------------------------------------------------------- /app/src/main/res/font/sf_regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/font/sf_regular.ttf -------------------------------------------------------------------------------- /app/src/main/res/font/sf_thin.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/font/sf_thin.ttf -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_featured_sites.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 16 | 17 | 24 | 25 | 26 | 30 | 31 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_shared_data_receiver.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 15 | 16 | 21 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_splash.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 13 | 14 | 19 | 20 | 26 | 27 | 28 | 29 | 43 | -------------------------------------------------------------------------------- /app/src/main/res/layout/breadcum_list.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 18 | 19 | -------------------------------------------------------------------------------- /app/src/main/res/layout/content_taxonomy_browser.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/layout/custom_marker_view.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /app/src/main/res/layout/dialog_link.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 13 | 14 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /app/src/main/res/layout/frag_simple_bar.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 13 | 14 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_ad_home.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 14 | 15 | 27 | 28 | 31 | 32 | 37 | 38 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_ad_post_detail.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_demo.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 13 | 14 | 19 | -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_images_grid.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_site_content_tabs.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 15 | 16 | 17 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_taxonomy_browser.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 15 | 19 | 23 | 24 | -------------------------------------------------------------------------------- /app/src/main/res/layout/fw_general_progress.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 15 | 16 | 17 | 23 | 24 | -------------------------------------------------------------------------------- /app/src/main/res/layout/fw_toolbar.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/layout/layout_node.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 13 | 18 | 19 | 30 | 38 | 39 | 46 | -------------------------------------------------------------------------------- /app/src/main/res/layout/list_item_barchart.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 15 | 16 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /app/src/main/res/layout/navigation_header.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 12 | 13 | 20 | 21 | 29 | 35 | 36 | 42 | -------------------------------------------------------------------------------- /app/src/main/res/layout/row_autocomplete.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 15 | 16 | 24 | 25 | 34 | 35 | -------------------------------------------------------------------------------- /app/src/main/res/layout/row_gallery.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 13 | 14 | 23 | 24 | 32 | 33 | -------------------------------------------------------------------------------- /app/src/main/res/layout/row_pager_image.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 11 | 15 | -------------------------------------------------------------------------------- /app/src/main/res/layout/row_progress.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 16 | 17 | 25 | 26 | -------------------------------------------------------------------------------- /app/src/main/res/layout/row_site.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | 16 | 17 | 23 | 24 | 25 | 29 | 30 | 31 | 35 | 36 | 37 | 41 | 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /app/src/main/res/layout/row_teaser_term_item.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 16 | 17 | 26 | 27 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /app/src/main/res/layout/user.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 15 | 16 | 24 | 25 | -------------------------------------------------------------------------------- /app/src/main/res/menu/drawer_view.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 |

9 | 10 | 13 | 16 | 19 | 22 | 25 | 32 | 33 | -------------------------------------------------------------------------------- /app/src/main/res/menu/menu_main.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 10 | 11 | 15 | 16 | 17 | 21 | 22 | 23 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /app/src/main/res/menu/menu_site_content_tabs.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 11 | 16 | 17 | -------------------------------------------------------------------------------- /app/src/main/res/menu/menu_taxonomy_browser.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 11 | 16 | 17 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onedrupal/One-Drupal-Android/21bbbdec85cf8e31dde6ac807ed54ab387ee398f/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/values-v14/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | 10 | 14 | 0dp 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | 11 | 64dp 12 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | #323232 10 | #3F51B5 11 | #303F9F 12 | #FF4081 13 | #FFFFFF 14 | #9EFFFFFF 15 | #000000 16 | #40000000 17 | #212121 18 | #989898 19 | #414141 20 | #00aa8d 21 | 22 | #80B6B6B6 23 | #EEEEEE 24 | #FFFFFF 25 | #575757 26 | #ffcccccc 27 | #b23f33 28 | #a33a2f 29 | #00000000 30 | #1A000000 31 | 32 | #01172F 33 | #9E9E9E 34 | #3c3c3c 35 | #ABABAB 36 | #80ABABAB 37 | 38 | #FF90CAF9 39 | #2196F3 40 | #FF1976D2 41 | 42 | #FFB6C1 43 | 44 | -------------------------------------------------------------------------------- /app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | 1dp 9 | 2dp 10 | 4dp 11 | 5dp 12 | 6dp 13 | 8dp 14 | 10dp 15 | 15dp 16 | 20dp 17 | 25dp 18 | 30dp 19 | 35dp 20 | 40dp 21 | 45dp 22 | 50dp 23 | 60dp 24 | 70dp 25 | 80dp 26 | 90dp 27 | 100dp 28 | 120dp 29 | 150dp 30 | 31 | 2dp 32 | 8dp 33 | 8dp 34 | 2dp 35 | 36 | 16dp 37 | 16dp 38 | 16dp 39 | 8dp 40 | 41 | 45 | 8dp 46 | 47 | -------------------------------------------------------------------------------- /app/src/main/res/values/ic_launcher_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | #FFFFFF 10 | -------------------------------------------------------------------------------- /app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | 9 | 10 | 16 | 17 | 21 | 22 | 26 | 27 | 32 | 33 | 36 | 37 | 40 | 41 | 42 | 46 | 47 |